Определение возвращаемого значения после цепочечных подражаний

Я использую 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'

Вернуться на верх