【问题标题】:assert_has_calls does not stub the method callassert_has_calls 不存根方法调用
【发布时间】:2016-03-29 10:14:26
【问题描述】:

我正在使用来自模拟 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 似乎没有做存根部分。调用实际方法,但在开发环境中失败。

我能做些什么来解决这个问题?

【问题讨论】:

    标签: python unit-testing mocking python-mock


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-01-27
      • 2012-10-28
      • 1970-01-01
      • 2012-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      相关资源
      最近更新 更多