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