Конфликт тестов IPython и Pytest

0

Вопрос

В папке "Тесты" у меня есть глобальные переменные и функции, которые я хочу импортировать и использовать в тестах.

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 в поисках некоторых ответов.

pytest python
2021-11-23 16:38:10
1

Лучший ответ

1

Я смог решить эту проблему, добавив __init__.py в папку "тесты" и подпапку, так что теперь все должно быть хорошо.

2021-11-23 17:17:58

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................