assert_has_calls不存根方法调用

时间:2016-03-29 10:14:26

标签: python unit-testing mocking python-mock

我正在使用mock python库中的assert_has_calls。当我做这样的事情时,我遇到了一个问题:

mocks = mock.Mock()
mocks.assert_has_calls([mock.call.method_to_be_mocked(mock.ANY),
                        mock.call.method_to_be_mocked(mock.ANY)])

我想验证该方法被调用了一定次数,但同时我也想要对该方法的调用进行存根。 assert_has_calls似乎没有做截断部分。调用实际方法,它在开发环境中失败。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您想断言它被调用的次数,因此请使用call_count并使用assert_equal(来自unittest或您正在使用的测试框架中的其他等效项)来验证它等于你期望它被调用的次数:

assert_equal(mock.call.method_to_be_mocked.call_count, 2)