#python #linux #pytest #fixtures
#python #linux #pytest #приспособления
Вопрос:
Я пытаюсь использовать приспособление из подкаталога, который определен в родительском каталоге conftest.py однако при этом я просто постоянно получаю сообщение об ошибке «приспособление [имя] не найдено». Пример структуры каталогов:
- Тесты/
- conftest.py
- test_1.py
- test_subdirectory_1/
- test_subdirectory_2/
- conftest.py
- test_2.py
Я хотел бы использовать приспособление, которое имеет область сеанса в оригинале conftest.py (в каталоге Tests/) в test_2.py досье. Однако всякий раз, когда я запускаю test_2.py из папки test_subdirectory_2 он выдает мне ошибку fixture not found.
Я делаю это из командной строки: root@[ip]:/Test/test_subdirectory_1/test_subdirectory/2# pytest test_2.py
и он выплевывает: E Fixture not found.
однако, если я перейду к корневому каталогу и сделаю: root@[ip]:/Test# pytest -k "test_name_from_test_2"
это работает отлично. Мне нужно иметь возможность запускать его из собственного каталога, просто указав имя файла.
В документации Pytest говорится, что этот тип файловой структуры должен быть приемлемым, поскольку предполагается, что тесты могут искать в родительских каталогах дополнительные приспособления. Кто-нибудь может сказать мне, почему это происходит?
Вот платформа / версия, которую я использую: platform linux -- Python 3.8.5, pytest-6.1.0, py-1.9.0, pluggy-0.13.1
Комментарии:
1. Эта суть содержит очень хорошее объяснение того, как использовать приспособления, определенные снаружи
contest.py
. Я почти уверен, что вы найдете ответы, которые ищете.