我想检查 do_a 调用 do_b 。我这样做:
代码:
def do_a(...):
...
do_b(...)
...
测试:
def test_do_a(self):
...
with patch('...do_b', new_callable=do_nothing()) as mock_do_b:
do_a(...)
mock_do_b.assert_called_once_with(...)
并且do_nothing:
def do_nothing():
pass
这工作正常,但我不得不使用do_nothing(),我发现hacky。有没有办法在没有额外无用功能的情况下进行相同的测试do_nothing()?
答案 0 :(得分:2)
您可以将补丁用作装饰器
@patch('...do_b')
def test_do_a(self, mock_do_b):
do_a(...)
mock_do_b.assert_called_once_with(...)