我正在为一个仍在开发中的第三方服务制作一个基于Python的REST客户机。问题是测试/验证客户机是否可以在各种场景下工作。包括不正确的回答。在
客户机使用Requests library进行远程REST调用(主要是GET和POST)。对于单元测试,我考虑使用HTTPretty模块来模拟/模拟服务器响应。在
问题是如何处理大量可能的测试用例。考虑以下组成的API
请求(GET)=http://example.com/new_api?param1=34¶m2=hello
响应={"value1":34,"value2":"a string"}
我需要自己为以下单元编写测试用例-
所有这些广泛测试背后的目的是帮助识别错误的来源。i、 是我的客户端出了问题,还是第三方服务器出了问题?在
有没有人知道组织Python测试套件以适应这些场景的好方法?编写单元测试函数感觉像是一项永无止境的任务。。。:(
这就是单元测试的目标是测试所有您认为可能必须处理错误的情况。另一方面,您不需要测试已经由系统自然处理的东西。在
请注意,HTTP是一个应用程序级协议,其中客户机总是启动请求,而服务器只是响应。所以我的意思是,因为你在开发客户机,你不负责服务器响应。你的目标只是发送适当的请求。在
另一方面,有HTTP响应可能会触发客户端的行为。你要测试的这些。例如,服务器回答301,您想通过启动下一个请求,获取
Location:
HTTP报头值来测试客户机是否执行了正确的操作。在在restapi(也称为超文本驱动)的情况下,您的客户机将解析HTTP响应的内容,特别是一组链接和/或rel关联值。基于这些值,客户机可以做出决定或向用户公开可能的选择。这些你必须测试。在
如果服务器没有提供内部的信息HTTP响应来继续您在客户端的探索,那么它就不是一个RESTAPI,而是一个完全有效的HTTPAPI。就这么简单。它变得更容易测试。没什么事可做。在
相关问题 更多 >
编程相关推荐