Определение возвращаемого значения после цепочечных подражаний
Я использую unittest.mock
для тестирования моего приложения Django.
Установка следующая:
- Я хочу проверить, что функция
foo
foo
использует методX
, который является конструктором из внешнего пакета .
X
вызывается вfoo
с некоторыми параметрамиargsA
для возврата объектаx
x.create_dataset
вызывается вfoo
с некоторыми параметрамиargsB
для возврата объектаds
ds.load
вызывается вfoo
с некоторыми параметрамиargsC
для хранения данных вds.data
ds.data
обрабатывается (merge, agg...) вfoo
для создания возвращаемого значенияfoo
Я хочу проверить, что функция foo
работает так, как ожидалось, зная возвращаемые значения вызовов других функций argsA
, argsB
, argsC
.
На данный момент я даже не могу запустить свой тест, так как у меня есть TypeError
, когда ds.data
подвергается манипуляции: TypeError: expected pandas DataFrame or Series, got 'MagicMock'