2016-09-26 7 views
0

Просто собирание питонаUnitTest издеваться не издевается

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, метод, который я хотел заменить. В моем случае, хотя патч не происходит.

+0

Это на самом деле исполнение метод base.data.load.loadEngine.libLoad.extractDBData –

+0

Я думаю, что нам нужно больше информации, чтобы отследить это вниз ... например как выглядит функция 'load' и как' extractDBData' импортируется в пространство имен 'load'? – mgilson

+0

в загрузке, импорт выглядит следующим образом: -------- from base.data.load.loadEngine import libLoad как fl ..... и далее вниз .... .fl.extractDBData –

ответ

1

Вам необходимо пропатчить относительный путь к методу:

with patch('path.to.your.pythonfile.fl.extractDBData', autospec=True, return_value=None): ...

Смежные вопросы