requests 里面断言封装
时间: 2023-08-05 21:41:14 浏览: 81
可以使用 Python 中的 unittest 模块来对 requests 的返回结果进行断言封装。
具体实现可以参考以下代码:
```python
import unittest
import requests
class TestRequests(unittest.TestCase):
def test_get(self):
response = requests.get('https://httpbin.org/get')
self.assertEqual(response.status_code, 200)
self.assertIn('httpbin.org', response.url)
def test_post(self):
data = {'key': 'value'}
response = requests.post('https://httpbin.org/post', data=data)
self.assertEqual(response.status_code, 200)
self.assertIn('httpbin.org', response.url)
self.assertIn('key', response.json())
self.assertEqual('value', response.json()['form']['key'])
if __name__ == '__main__':
unittest.main()
```
这里定义了一个 TestRequests 类,继承自 unittest.TestCase 类,在该类中定义了两个测试方法:test_get 和 test_post。这两个方法分别测试了 requests.get 和 requests.post 的返回结果是否正确。
在方法中使用了多种断言,如 assertEqual、assertIn 等,分别判断了状态码、URL、返回数据等是否符合预期。如果断言失败,就会抛出 AssertionError 异常,测试就会失败。
通过这种方式,我们可以对 requests 的返回结果进行全面的测试和断言封装。
阅读全文