集成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做接口测试的简单实例。

相关推荐