Go: 基于 apitest 做handler层单元测试
原先使用 postman + newman 的方式做的 API 功能测试,这种方式不完全是API层的单元测试, 预先配置好数据库/初始化好数据后, 直接通过API调用, 判定响应值是介于单元测试 + 集成测试 之间的一种测试, 但是既不是完备的单元测试, 也不是完整的集成测试。
好处:
1、简单方便, 在本地开发调试API时, 就能将调试请求直接转为测试用例。
缺点:
1、难以维护: 更新API/增加API时, 未实时同步更新测试用例;
2、变更上层协议时, 例如middleware, 所有case需要改违背Isolate原则: 无法独立, 每个case运行时, 前面执行的数据会影响后面执行的数据;
3、每个case都需要考虑规避之前case的数据影响缺乏完备性: 一个API一般只构造一个失败, 一个成功两个Case。
