【发布时间】:2014-11-07 00:22:31
【问题描述】:
我正在为仍在开发中的第 3 方服务制作基于 Python 的 REST 客户端。问题是测试/验证客户端是否可以在各种场景下工作。包括不正确的回答。
客户端使用Requests library 进行远程REST 调用(主要是GET 和POST)。对于单元测试,我正在考虑使用HTTPretty 模块来模拟/模拟服务器响应。
问题在于如何处理大量可能的测试用例。考虑以下组成的 API;
请求 (GET) = http://example.com/new_api?param1=34&param2=hello
回复 = {"value1":34,"value2":"a string"}
我发现自己需要为以下场景编写单元测试用例 -
- 客户端发送正确数量的参数
- 客户端发送的参数值不正确
- 客户端缺少参数
- 服务器对上述场景的正确响应
- 服务器未发回所有必需的值
- 服务器混淆值参数(返回字符串而不是数字)
- 服务器发回 HTML 而不是 JSON
- ...等
所有这些广泛测试的目的是帮助确定错误的来源。即是我的客户有问题,还是第三方服务器有问题?
有谁知道组织 Python 测试套件以适应这些场景的好方法?编写单元测试函数感觉就像是一项永无止境的任务...... :(
【问题讨论】:
标签: python unit-testing rest