2024-10-03 04:38:38 发布
网友
我创建了一个模拟对象,如下所示:
with patch('requests.get') as request: self.request = request self.request.session = MockSession() self.request.cookies = {}
如何通过其他功能进行更新
如果要保存已修补的对象,必须手动启动和停止修补。如果使用上下文管理器(例如with patch),则在退出作用域时将恢复修补。 以下是您可以做的:
with patch
class TestSomething(unittest.TestCase): def setUp(self): self.patcher = patch('requests.get') # returns the patcher object self.request = self.patcher.start() # returns the patched object self.request.session = MockSession() self.request.cookies = {} def tearDown(self): sef.patcher.stop() def test_03_set_nonce(self): self.web_session.set_nonce(self.request) self.assertTrue(len(self.request.cookies) > 0, 'set_nonce failed.')
请注意,我没有检查实际的测试-这取决于您的应用程序逻辑
您也可以在测试中直接进行修补:
@patch('requests.get') def test_03_set_nonce(self, request): request.session = MockSession() request.cookies = {} self.web_session.set_nonce(request) self.assertTrue(len(request.cookies) > 0, 'set_nonce failed.')
如果要保存已修补的对象,必须手动启动和停止修补。如果使用上下文管理器(例如
with patch
),则在退出作用域时将恢复修补。以下是您可以做的:
请注意,我没有检查实际的测试-这取决于您的应用程序逻辑
您也可以在测试中直接进行修补:
相关问题 更多 >
编程相关推荐