要写出一个健壮的程序必须要有测试,测试可以保证上线的代码功能符合预期,防止上线后出现莫须有的损失。对于我们一口气写完的api,匆忙上线往往会导致很糟糕的后果。
那么怎么去写测试来保证我们的api上线后是没问题且符合预期的呢?一个后台工程师为了不背锅,如何去需要保证自己的工作完成得没问题呢?
注意:我们这里讨论的是api符合预期,对于客户端ui显示,不在我们讨论范围内。
我觉得要做好api测试,至少有以下三点:
- 测试案例的返回结果符合预期
- 测试案例覆盖了所有代码条件
- 测试案例的结果数据符合预期
简单的说就是,充分理解业务的情况下,编写出完整的测试案例集,然后通过测试案例集验证了返回结果以及存储数据的准确性。这就是保证api正确的核心。
根据这样的想法,于是编写了一个测试框架 Guardian。Guardian 的使用非常简单,你只需要把你的测试案例信息写成固定的json格式,包括请求信息,预期响应信息,预期的数据信息。然后运行命令,guardian 就会帮你跑完所有测试案例,并验证最终的结果返回输出到终端中。
使用如这个例子:
guardian --tests=./example/tests/entrance.json
SUIT: users
=================================================
获取用户 Ok
-------------------------------------------------
响应比对 ✓️
数据比对 ✓️
=================================================
修改用户 Ok
-------------------------------------------------
响应比对 ✓️
数据比对 ✓️
=================================================
Ok
SUIT: orders
=================================================
获取订单 Ok
-------------------------------------------------
响应比对 ✓️
数据比对 ✓️
=================================================
创建订单 Ok
-------------------------------------------------
响应比对 ✓️
数据比对 ✓️
=================================================
Ok
关于json的配置可以参考:
有疑问加站长微信联系(非本文作者)