作者:leooooo | 来源:互联网 | 2023-08-21 15:25
篇首语:本文由编程笔记#小编为大家整理,主要介绍了集成unittest做接口测试相关的知识,希望对你有一定的参考价值。
unittest接口测试
上篇已经讲了接口测试的做法,利用的是postman工具,工具始终是工具,它有一定的局限性,比如测试数据的存放,断言的方法以及上下接口关联使用灵活性。python对http接口封装了一个requests库可以调用接口,结合unittest单元测试框架可以完美测试。
简单实例
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()
运行结果
...
{‘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做接口测试的简单实例。