2017-06-04 66 views
0

比方說,我有一個這樣的功能:斷言是參數沒有傳遞函數被調用

def foo(): 
    bar() 

有什麼辦法,我可以測試是否bar被調用,當我不是過客酒吧作爲參數?我的團隊使用Python 3.6和3.5

+0

您可能可以修改[這些函數調用計數裝飾器](https://wiki.python.org/moin/PythonDecoratorLibrary#Counting_function_calls)以適合您的目的。 – wwii

+0

有很多選擇,取決於你確切的需求 - 搜索'''python裝飾函數日誌記錄'''。如果您遇到困難,請嘗試一下,然後回來提問。 – wwii

回答

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') 

希望它能幫助。