大家在做接口测试的时候可能经历过这种情况,开发出来接口文档后,测试人员就要开始编写接口测试的自动化代码。这时就会用到了mock server,mock server不在这里说了,百度一大堆,想怎么实现怎么实现。
今天同事推荐了一个python的library,我感觉很赞,可以将mock代码揉合到测试方法中,废话不说,直接上代码
from httpretty import HTTPretty from httpretty import httprettified @httprettified def test_api_result(self): # 固定请求格式 # 可以在config配置文件中定义一对url,一个是url_mock,一个是url_test,前期在配置文件中将url_test设置成url_mock的值 # 等部署测试环境以后,将url_test更新为实际的值 # url_mock HTTPretty.register_uri(HTTPretty.GET, "http://api.test.com/v1", body='[{"title": "Test API"}]', content_type="application/json") # request请求get方法 # url_test r = requests.get('http://api.test.com/v1') print(r.url) # 断言对比请求结果值是否与预期值匹配 self.result = r.json() self.assertEqual(self.result, [{"title": "Test API"}])