0
我在我的項目中創建了多個unit_test文件。 當我獨立運行所有測試文件時,所有文件都會通過所有測試用例。python模擬補丁錯誤
但是,當我經過的TestRunner運行所有測試,我得到錯誤的
TypeError: 'NoneType' object is not callable.
我已經注意到這個錯誤是因爲打補丁的拋出。
======================================================================
ERROR [0.001s]: test_create_pull_requests (test_custom_logs_manager.TestCustomLogManager)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/x/local/dmali/githome/am-repo/unit_tests/lib/mock/mock.py", line 1201, in patched
return func(*args, **keywargs)
File "/x/local/dmali/githome/am-repo/unit_tests/data_process/caldata/test_custom_logs_manager.py", line 71, in test_create_pull_requests
cal_handlers)
TypeError: 'NoneType' object is not callable
...
代碼段:
@patch('data_process.caldata.custom_logs_manager.CustomLogsPullTrack',
MagicMock(return_value = MockCustomLogsPullTrack()))
def test_create_pull_requests(self):
"""
Unit Test for create_pull_requests
"""
report_times = [datetime.datetime.now()]
group_id = 1
data_center = MockDataCenterCalLoc()
data_center_cal_loc_id = 1
mock_pull_config = MockPayMonCalBizConfig()
mock_pull_config.id = 1
cal_handlers = {'TEST_CAL': 'TEST_CLASS'}
result = custom_logs_manager.create_pull_requests(report_times,
group_id,
data_center,
data_center_cal_loc_id,
mock_pull_config,
cal_handlers)
self.assertEqual(result[0].paymon_calbiz_config_id, 1)
self.assertEqual(result[0].pool_name, 'TEST')
self.assertEqual(result[0].data_center_cal_loc_id, 1)
它看起來像你不正確地設置你的嘲笑。雖然沒有查看整個源代碼,但我無法確定。我不清楚你爲什麼嘲笑一堂課,但後來調用一個函數,並期望它被嘲笑。也許更仔細地看看你的代碼,花些時間調試。 – Greg