У меня есть группа unittest
тестовых примеров в отдельных каталогах. Существует также каталог, который просто содержит вспомогательные скрипты для тестов. Так что мой файл дерево выглядит следующим образомИзменение cwd перед запуском тестов
test_dir1
test_dir2
test_dir3
helper_scripts
Каждого питон файл в test_dir*
будет иметь следующие строки:
import sys
sys.path.append('../helper_scripts')
import helper_script
Это все работает отлично, до тех пор, как я запускать тесты из в их каталоге. Тем не менее, я хотел бы быть в корне проекта и просто запустите:
py.test
и он пройти все каталоги и выполнения каждого теста он находит. Проблема в том, что тесты запускаются из неправильного каталога, поэтому sys.path.append
не добавляет каталог helper_scripts
, он добавляет родительский элемент корня проекта. Это приводит к сбою всего импорта с Import Error
.
Есть ли способ сообщить py.test
для запуска тестовых скриптов из их каталога? то есть. измените cwd перед их исполнением? Если нет, есть ли другой тестовый бегун, который я могу использовать?
Как именно вы это делаете? Вам нужно изменить текущий каталог в скрипте? –