unittest接口测试
上篇已经讲了接口测试的做法,利用的是postman工具,工具始终是工具,它有一定的局限性,比如测试数据的存放,断言的方法以及上下接口关联使用灵活性。python对http接口封装了一个requests库可以调用接口,结合unittest单元测试框架可以完美测试。
简单实例
代码语言:javascript复制import unittest
import requests
class GetEventListTest(unittest.TestCase):
"""查询发布会接口测试"""
def setUp(self) -> None:
self.url = 'http://127.0.0.1:8000/api/get_event_list/'
def test_get_event_null(self):
"""发布会id为空"""
r = requests.get(self.url,params={'eid':''})
result = r.json()
print(result)
self.assertEqual(result['status'],10021)
self.assertEqual(result['message'],'参数错误')
def test_get_event_error(self):
"""发布会id不存在"""
r = requests.get(self.url,params={'eid':'333'})
result = r.json()
self.assertEqual(result['status'],10023)
self.assertEqual(result['message'],'查询对象结果为空')
def test_get_event_success(self):
"""发布会查询成功"""
r = requests.get(self.url,params={'eid':'1'})
result = r.json()
print(result,333)
self.assertEqual(result['status'],200)
self.assertEqual(result['message'],'查询成功')
if __name__ == '__main__':
unittest.main()
运行结果
代码语言:javascript复制...
{'status': 10021, 'message': '参数错误'}
{'status': 200, 'message': '查询成功', 'data': {'name': '苹果4', 'limit': 10, 'status': True, 'address': '上海浦东', 'start_time': '2020-02-24T00:00:00'}} 333
----------------------------------------------------------------------
Ran 3 tests in 0.025s
OK
以上就是集成unittest做接口测试的简单实例。