Pytest не видит файлы для импорта
День добрый. Имеется структура проекта:
.main.py
-src/json_wrapper.py
-tests/test_json_wrapper.py
В test_json_wrapper добавлена конструкция
import sys
sys.path.append("../")
Дабы он смог импортировать враппер при запуске.
Проблема: при запуске pytest-a из директории tests - всё проходит успешно, но при запуске из корневой директории - он видит тесты, но не может импортировать в них файл json_wrapper
tests\test_json_wrapper.py:5: in <module>
from src.json_wrapper import JsonWrapper
E ModuleNotFoundError: No module named 'src'
Как сделать возможность корректного запуска pytest из любой папки?
Ответы (2 шт):
Попробуйте в папках src и tests создать файлы с именами __init__.py. Это должно сказать pytest, что их родительский каталог это директория с проектом.
Далее для запуска тестов из родительского каталога используйте:
pytest tests
Из папки с тестами:
pytest
__init__.py нужен в папках, чтобы можно было ее инициализировать как пакет, соответственно добавлять необходимые модули.
По этому надо создать их, просто пустыми.