mock_response.status_code 使用以下任一语句
mock_response.status_code
import requests def get_data(): response = requests.get('https://www.somesite.com') return response.status_code if __name__ == '__main__': print get_data()
以下代码之间的区别是什么,
from call import get_data import unittest from mock import Mock,patch import requests class TestCall(unittest.TestCase): def test_get_data(self): with patch.object(requests,'get') as get_mock: 1.get_mock.return_value = mock_response = Mock() # OR 2.mock_response = get_mock.return_value mock_response.status_code = 200 assert get_data() == 200 unittest.main()
查看 docs :
你在嘲笑 get requests 收到 方法应该返回一个 response 对象,稍后您将声明其 status_code 收到 回答 return_value Mock 对象,因此1和2之间应该没有区别,除非1显式创建 2使用默认行为。
get
requests
收到
response
status_code
回答
return_value
Mock
顺便说一句,单元测试什么都不测试,因为您设置了 status_代码 上 对象,然后断言它。这就像:
status_代码
status_code = 200 assert status_code == 200