Я пытаюсь запустить тесты из модуля python, используя DevOps Azure.У меня настроена конвейерная сборка для сборки файла yml.Я получаю сообщение об ошибке, что имя моего модуля при импорте неверно, но не похоже, что имя модуля устанавливается в сборке?
Когда я запускаю это локально, оно работает простоотлично.
Структура файла репозитория модуля:
api_check
api_check/auth
api_check/etc
api_check/__init__.py
Я запускаю тесты, используя в своем файле yml следующее: - script: |mkdir регистрирует pytest -m smoke --junitxml = logs / test-results.xml --ENV = prod displayName: 'Test with pytest'
Этот шаг вызывает следующую ошибку:
2018-10-11T21:51:02.9825682Z _______________________ ERROR collecting test_search.py ________________________
2018-10-11T21:51:02.9826322Z ImportError while importing test module '/home/vsts/work/1/s/test_search.py'.
2018-10-11T21:51:02.9826804Z Hint: make sure your test modules/packages have valid Python names.
2018-10-11T21:51:02.9827123Z Traceback:
2018-10-11T21:51:02.9827411Z test_search.py:12: in <module>
2018-10-11T21:51:02.9827745Z from api_check.auth import get_Token_UsernamePassword
2018-10-11T21:51:02.9828644Z E ModuleNotFoundError: No module named 'api_check'
Что мне нужно добавить, чтобы сборка распознала модуль api_check?Есть ли какая-то переменная сборки, в которой мне нужно прочитать?
Изменить для получения дополнительной информации -
Я запускаю это из любого каталога, в котором файл yml запускается из моего файла по умолчанию.вне журнала отладки, рабочий каталог /home/vsts/work/1/s
.Когда я перечисляю содержимое рабочего каталога, я вижу все содержимое моего модуля, все, что в моем репо находится под api_check
.
Итак, а не то, что я ожидал бы от сноса репо:
$workingDirectory/api_check
$workingDirectory/api_check/auth
$workingDirectory/api_check/etc
$workingDirectory/api_check/__init__.py
вместо этого:
$workingDirectory
$workingDirectory/auth
$workingDirectory/etc
$workingDirectory/__init__.py
Таким образом, похоже, что просто добавление родительского каталога api_check
не поможет, так как, похоже, нет каталога api_check
.Есть ли какая-нибудь настройка, которую я могу включить в исходные конвейеры, чтобы она включала папку верхнего уровня api_check
?