我想檢查do_a調用do_b。我在做這樣的:測試Django模擬 - 檢查函數/方法調用
代碼:
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(),我覺得哈克。有沒有辦法做同樣的測試沒有額外的無用函數do_nothing()?
你可以使用,而不是一個可調用'拉姆達拉姆達:TRUE'但拉姆達似乎更hackish的;) – 2014-09-29 08:10:13
是的,我想到了這一點。我可能只是寫patch_with_nothing(...) – 2014-09-29 23:20:08