Модуль A
включает import B
в своей верхней части. Однако в тестовых условиях я хотел бы высмеивать B
в A
(mock AB
) и полностью воздерживаться от импорта B
На самом деле, B
не установлен в тестовой среде специально.
A
- это проверяемая единица. Я должен импортировать A
со всеми его функциями. B
- это модуль, который мне нужен для макета. Но как я могу высмеять B
внутри A
и остановить A
от импорта реального B
, если первое, что делает A
, это импорт B
?
(Причина, по которой B не установлен, заключается в том, что я использую pypy для быстрого тестирования, и, к сожалению, B пока не совместим с pypy.)
Как это могло быть сделано?