断言是调用参数时未传递的函数

时间:2017-06-04 13:46:49

标签: python unit-testing testing python-mock

假设我有这样的功能:

def foo():
  bar()

当我没有将bar作为参数传递时,有没有办法测试bar是否被调用?我的团队使用Python 3.6和3.5

1 个答案:

答案 0 :(得分:1)

您应该使用patch

@patch('path.to.bar')
def test_foo(self, mock_bar):
    foo() 
    self.assertTrue(mock_bar.called)

您还可以测试函数调用的值,如下所示:

mock_bar.assert_called_with('some_param')

希望它有所帮助。