我正在测试一些python代码,当我使用指定的文件运行nosetests时,一切都很好,但是当我想运行文件夹中的所有内容时,一些测试(大多数)都会失败。
我正在使用mock,unittest和nose with 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 :(得分: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)