我正在为仍在开发中的第三方服务制作一个基于Python的REST客户端。问题是要测试/验证客户端能够在各种情况下工作。包括不正确的回应如何为不可靠的服务器单元测试REST客户端?
客户端使用Requests library进行远程REST调用(主要是GET和POST)。而对于单元测试,我正在考虑使用HTTPretty模块来模拟/模拟服务器响应。
问题是如何处理可能的测试用例的数量。考虑以下组成的API;
REQUEST(GET)= http://example.com/new_api?param1=34¶m2=hello
RESPONSE = {"value1":34,"value2":"a string"}
我发现自己需要编写单元测试用例下列方案 -
- 客户端发送的参数正确数目
- 客户端发送错误的参数值
- 客户端缺少参数 个
- 服务器对上述情况的正确反应
- 服务器不发送回所有所需的值
- 服务器混淆值参数(返回一个字符串,而不是一些)
- 服务器发送的,而不是JSON
- 回HTML ...等
所有这些广泛的测试背后的意图是帮助确定错误可能源于哪里。即它是我的客户有问题还是第三方服务器?
有谁知道组织Python测试套件以适应这些情况的好方法吗?编写单元测试函数感觉就像它将成为一个永无止境的任务...... :(