【发布时间】:2016-12-06 03:05:11
【问题描述】:
我在设置单元测试时遇到了很多困难。我一直在使用补丁,但它的行为并不完全符合预期。
我的测试函数顶部有一个装饰器:
@mock.patch('WarningFactory.WarningAPIUpdate')
@mock.patch('WarningFactory.SomethingElse')
def test_send_tc_update(self, other_mock, api_mock):
但是,在我的函数结束时,当我尝试做出以下断言时:
api_mock.send_warning.assert_called_with('IDQ20026', 'IDQ20026')
失败了
我知道这应该通过,因为我运行了
print api_mock.mock_calls
给予
[call(u'test_api'),
call().send_warning('IDQ20026', 'IDQ20026'),
call().send_warning('IDQ24500', 'IDQ24500')]
我可以清楚地看到使用正确的值调用了 send_warning 方法,那么为什么我的断言失败了?
【问题讨论】:
-
你有想过这个吗?有同样的问题
-
@learningKnight 添加了答案,希望对您有所帮助。
标签: mocking patch python-2.6