如何assert_called_once_with()为一个特定的参数或参数的子集?



我正在使用pytest和unittest模块。我想断言我正在测试的Mock对象被访问过一次,我想断言它是用一个特定的值调用的,但只有许多参数中的一个。例如,如果模拟的方法是:

def my_method(arg1, arg2, arg3):
print(arg1)

,我用mocked_method(arg1=3, arg2='smthng', arg3=80)调用模拟对象,我希望断言:mocked_method.assert_called_once_with(arg1=3),我不关心其余的参数。我该怎么做呢?

好吧,我发现我们可以用一种比使用ANY更简单的方法来实现这一目标。在我的例子中是:

from unittest.mock import ANY
mocked_method.assert_called_once_with(arg1=3, arg2=ANY, arg3=ANY)

相关内容

  • 没有找到相关文章

最新更新