Python 如何在每个不同的测试中为我的请求模拟设置不同的值?
在我的单元测试中,我有以下Python 如何在每个不同的测试中为我的请求模拟设置不同的值?,python,unit-testing,Python,Unit Testing,在我的单元测试中,我有以下设置功能: @patch("FrontEnd.FrontEnd.get_cname") def setUp(self, mock_get_cname): mock_requests = MagicMock() mock_requests.return_value.json.side_effect = return_side_effect mock_requests.return_value.status_c
设置
功能:
@patch("FrontEnd.FrontEnd.get_cname")
def setUp(self, mock_get_cname):
mock_requests = MagicMock()
mock_requests.return_value.json.side_effect = return_side_effect
mock_requests.return_value.status_code = 200
mock_requests.return_value.text = 'ssl'
self.requests = patch.object(requests, 'get', mock_requests)
self.requests.start()
在一次测试中,我有以下几点:
@patch("requests.get")
def test_search_resource(self, mock_get):
"""Test for _search_resource"""
mock_get.return_value.status_code = 200
self.fe._search_resource("hulahoop")
self.assertTrue(mock_get.call_args,
call('www.example.com/cdn_resources.json?q=hulahoop',
auth=('user', 'password'),
timeout=5))
mock_get.reset_mock()
mock_get.return_value.status_code = 400
with self.assertRaises(Exception):
self.fe._search_resource("hulahoop")
我在重复mock_get here,尽管它已在设置
中进行了修补,唯一的原因是能够为其分配不同的状态_code
。如何在不修补请求的情况下为我的状态\u code
分配不同的值。再次获取