使用Mock断言一个函数/方法未被调用

7 浏览
0 Comments

使用Mock断言一个函数/方法未被调用

我正在使用Mock库来测试我的应用程序,但我想断言某个函数没有被调用。Mock文档中提到了像mock.assert_called_withmock.assert_called_once_with这样的方法,但我没有找到类似mock.assert_not_called或与验证Mock未被调用相关的内容。

虽然我可以使用类似下面的方法,但它看起来既不酷也不符合Pythonic风格:

def test_something:
    # 一些操作
    with patch('something') as my_var:
        try:
            # 参数并不重要。在这个测试中func函数永远不应该被调用
            my_var.assert_called_with(some, args)
        except AssertionError:
            pass  # 这个错误被抛出意味着没问题
    # 其他操作

有没有什么方法可以实现这个?

0