unitest中validate_response怎么用
时间: 2024-04-29 10:21:02 浏览: 95
jekins_unitest
在unittest中,validate_response可以用来验证HTTP响应的状态码、头部信息和响应体内容是否符合预期。它需要两个参数:响应对象和预期结果字典。
示例代码:
```python
import unittest
import requests
class TestApi(unittest.TestCase):
def test_get_user(self):
url = 'http://example.com/api/user/123'
resp = requests.get(url)
expected_result = {'status_code': 200, 'headers': {'Content-Type': 'application/json'}, 'body': {'name': 'Alice', 'age': 25}}
self.validate_response(resp, expected_result)
def validate_response(self, resp, expected_result):
self.assertEqual(resp.status_code, expected_result['status_code'])
for header_name, header_value in expected_result['headers'].items():
self.assertEqual(resp.headers.get(header_name), header_value)
for key, value in expected_result['body'].items():
self.assertEqual(resp.json().get(key), value)
```
在上述示例中,test_get_user方法发送一个GET请求,获取用户信息,并将响应结果传递给validate_response方法进行验证。expected_result字典包含了预期的状态码、头部信息和响应体内容。在validate_response方法中,使用unittest中的assertEqual方法对响应结果进行逐一验证。如果有任何一项验证不通过,该测试用例将会失败。
阅读全文