利用guardian为你的api应用写测试

honhon · · 1350 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

要写出一个健壮的程序必须要有测试,测试可以保证上线的代码功能符合预期,防止上线后出现莫须有的损失。对于我们一口气写完的api,匆忙上线往往会导致很糟糕的后果。

那么怎么去写测试来保证我们的api上线后是没问题且符合预期的呢?一个后台工程师为了不背锅,如何去需要保证自己的工作完成得没问题呢?

注意:我们这里讨论的是api符合预期,对于客户端ui显示,不在我们讨论范围内。

我觉得要做好api测试,至少有以下三点:

  1. 测试案例的返回结果符合预期
  2. 测试案例覆盖了所有代码条件
  3. 测试案例的结果数据符合预期

简单的说就是,充分理解业务的情况下,编写出完整的测试案例集,然后通过测试案例集验证了返回结果以及存储数据的准确性。这就是保证api正确的核心。

根据这样的想法,于是编写了一个测试框架 Guardian。Guardian 的使用非常简单,你只需要把你的测试案例信息写成固定的json格式,包括请求信息,预期响应信息,预期的数据信息。然后运行命令,guardian 就会帮你跑完所有测试案例,并验证最终的结果返回输出到终端中。

使用如这个例子:

guardian --tests=./example/tests/entrance.json

SUIT:  users
=================================================
获取用户                                    Ok
-------------------------------------------------
响应比对                                    ✓️
数据比对                                    ✓️
=================================================
修改用户                                    Ok
-------------------------------------------------
响应比对                                    ✓️
数据比对                                    ✓️
=================================================

Ok

SUIT:  orders
=================================================
获取订单                                    Ok
-------------------------------------------------
响应比对                                    ✓️
数据比对                                    ✓️
=================================================
创建订单                                    Ok
-------------------------------------------------
响应比对                                    ✓️
数据比对                                    ✓️
=================================================

Ok

关于json的配置可以参考:


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:honhon

查看原文:利用guardian为你的api应用写测试

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1350 次点击  
加入收藏 微博
上一篇:11
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传