【发布时间】:2014-08-25 14:27:59
【问题描述】:
我有一个通过模拟 Web 服务来工作的测试。我有它,它在调用特定方法时返回特定的返回值。我正在验证包装函数是否返回我期望的值。问题是测试似乎几乎没用。
这是我所拥有的 -
@patch('run.Client')
def test(self, mock_client):
service = WebService()
mock_client.return_value.service.GetMemberStatus.return_value = 'E'
member_status = service.get_member_status(11)
self.assertEqual('E', member_status)
我要做的只是在使用特定参数调用 GetMemberStatus 方法时返回 E。我已经尝试过 -
mock_client.return_value.service.GetMemberStatus(11, '', '').return_value = 'E'
然而这似乎并没有改变任何东西。
问题 - 我如何才能设置模拟方法的返回值,只有在使用适当的参数调用时?
【问题讨论】:
标签: python unit-testing python-3.x mocking