集成unittest做接口测试

Posted liudinglong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成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做接口测试的简单实例。

 

以上是关于集成unittest做接口测试的主要内容,如果未能解决你的问题,请参考以下文章

接口测试 | 24 requests + unittest集成你的接口测试

Python接口自动化测试之pytest与unittest区别

Python接口自动化测试之pytest与unittest区别

so easy!使用unittest管理集成测试框架,再也不用担心接口测试

Python3+Selenium3+Unittest+ddt+Requests 接口自动化测试框架

Python接口自动化之unittest单元测试