2013-12-08 59 views
0

我正在測試一些python代碼,當我運行nosetests與指定的文件,一切都很好,但是當我想運行該文件夾中的所有內容時,一些測試(大多數)失敗。沒有指定文件時Nosetests失敗

我使用模擬,單元測試和鼻子與Python 2.7

謝謝

例如:

AssertionError: Expected call: mock('fake/path') 
Not called 

在這個測試

def test_vm_exists(self): 
    fake_path = 'fake/path' 
    os.path.exists = mock.MagicMock() 
    os.path.exists.return_value = True 

    response = self._VixConnection.vm_exists(fake_path) 

    os.path.exists.assert_called_with(fake_path) 
    self.assertEqual(response, True) 

這是回購協議: https://github.com/trobert2/nova-vix-driver/tree/unittests/vix/tests

對不起,如果它不夠描述。

+0

歡迎使用計算器。你能顯示一些代碼嗎?什麼失敗,哪個例外,...請改善您的問題。 – slfan

+0

我做了一個編輯。感謝您的輸入 – trobert2

+0

非常感謝!修補解決了一切。當我使用MagicMock時,我認爲它只能在測試範圍內工作。我錯了,謝謝。 – trobert2

回答

0

實際上,您並未真正嘲笑os.path.exists。請嘗試以下操作:

@mock.patch('os.path.exists') 
def test_vm_exists(self, mock_exists): 
    mock_exists.return_value = True 
    fake_path = 'fake/path' 

    response = self._VixConnection.vm_exists(fake_path) 

    mock_exists.assert_called_with(fake_path) 
    self.assertEqual(response, True) 
相關問題