0
剛拿起蟒蛇單元測試模擬不是嘲笑
def test_load(self):
with patch('base.data.load.loadEngine.libLoad.extractDBData', autospec=True, return_value=None):
#libLoad.extractDBData = MagicMock(return_value=[ {'x':'value1'} ])
self.assertEqual(
load(loadName='MyLoadName', configName='PROD', sqlName='sampleSQL', loginName='loginName', password='password'),
[{'x': 'value'}])
在我的代碼,加載調用另一個模塊base.data.load.loadEngine.libLoad.extractDBData,我想更換方法。就我而言,補丁不會發生。
它實際上是執行方法base.data.load.loadEngine.libLoad.extractDBData –
我認爲我們需要更多的信息來跟蹤此下來...例如load函數看起來是什麼樣,'extractDBData'是如何在'load'的命名空間中導入的? – mgilson
在加載時,導入是這樣的:-------- from base.data.load.loadEngine import libLoad as fl ..... and further down .... .fl.extractDBData –