В папке "Тесты" у меня есть глобальные переменные и функции, которые я хочу импортировать и использовать в тестах.
repo
├── spam
│ ├── bacon.py
│ └── egg.py
└── eggs
│ └── sausage.py
└── tests
├── spam_test.py
├── eggs_test.py
└── utils.py
Скажем, я хочу импортировать что-то из utils.py. У меня было бы "из тестов.utils импорт кастрюли". Запуск теста обычно работает нормально, но когда я запускаю в режиме отладки, "из tests.utils импорт pan" будет конфликтовать с тестами ipython.
Мое текущее исправление состоит в том, чтобы превратить все это в приспособления и избежать импорта из тестов все вместе. Удаление тестов ipython из sys.path перед импортом из тестов также будет работать. Другим исправлением, которое может сработать, было бы переименование тестов во что-то другое, но я хочу сохранить соглашение об именах тестов для pytest.
Есть ли лучшее решение этой проблемы?
В настоящее время я планирую изучить conftest.py чтобы узнать, может ли что-нибудь оттуда помочь, и продолжайте поиск в Google в поисках некоторых ответов.