Я хочу сделать следующее. В моем проекте a
у меня есть фабричный класс Fac
с экземпляром fac=Fac()
, в котором регистрируются определенные классы. Эти классы находятся в подпакете a.b
.
Если я делаю простой import a
, подпакет a.b
не импортируется, классы не регистрируются, и, таким образом, fac.registered_classes
является пустым списком.
После импорта подпакета b
fac.registered_classes
заполняется классами в подпакете b
.
Чтобы не запутать пользователя, я добавил строку
import .b
в __init__.py
пакета a
.
Теперь я хотел бы написать тест с pytest
, который в основном проходит, если fac.registered_classes
не пусто; поэтому никто случайно не стирает эту строку в моем __init__.py
. Давайте назовем этот тест test_import_b
Разные тесты, конечно, также проверяют функциональность подпакета b
, тем самым импортируя b
сами.
Однако, кажется, что все операции импорта выполняются во время тестовых прогонов. доступны для всех тестов. Хотя простой запуск test_import_b
завершается неудачей, если строка импорта удаляется в __init__.py
, он больше не работает, если все тесты выполняются одновременно.
Что я должен сделать, чтобы выполнить настройку теста работа