python不适用unittest,如何封装接口深度断言的通用函数代码
时间: 2023-03-28 12:04:20 浏览: 155
可以使用第三方库pytest来进行接口深度断言。具体实现方法如下:
1. 安装pytest库:在命令行中输入pip install pytest进行安装。
2. 编写测试用例:使用pytest框架编写测试用例,可以使用assert语句进行断言。
3. 封装通用函数:将常用的断言封装成通用函数,方便在多个测试用例中调用。
示例代码如下:
```python
import pytest
import requests
def assert_response(response, expected_status_code, expected_data):
assert response.status_code == expected_status_code
assert response.json() == expected_data
def test_get_user_info():
url = 'http://example.com/api/user_info'
headers = {'Authorization': 'Bearer token'}
response = requests.get(url, headers=headers)
expected_status_code = 200
expected_data = {'name': 'Alice', 'age': 25}
assert_response(response, expected_status_code, expected_data)
def test_create_user():
url = 'http://example.com/api/create_user'
headers = {'Authorization': 'Bearer token'}
data = {'name': 'Bob', 'age': 30}
response = requests.post(url, headers=headers, json=data)
expected_status_code = 201
expected_data = {'message': 'User created successfully'}
assert_response(response, expected_status_code, expected_data)
```
在上面的示例代码中,assert_response函数封装了常用的断言,包括判断响应状态码和响应数据是否符合预期。在测试用例中,直接调用assert_response函数即可进行断言。
注意:以上代码仅为示例,具体实现需要根据实际情况进行调整。
阅读全文