Python: модульные тесты / интеграционные тесты: обходной путь к файлам? - PullRequest
0 голосов
/ 26 марта 2019

У меня есть несколько юнит-тестов и интеграционных тестов, которые мне нужно запустить в проекте. Проблема, с которой я сталкиваюсь, заключается в том, что иногда файлы читаются (как фиктивные данные) и в зависимости от того, где я запускаю тест, относительные пути должны быть изменены.

Есть ли решение не менять пути, даже если тесты запускаются из разных каталогов? (например, в pycharm иногда из каталога под названием «tests» или в другое время из каталога «unit»)?

Например:

Я запускаю свои тесты в Pycharm из каталога "test". В одном из моих модульных тестов я прочитал файл с путем: "../data" Иногда я запускаю свои тесты из каталога, называемого «модульные тесты», который находится в каталоге «test». Теперь мне нужно изменить путь к файлу сверху, иначе мой файл не будет найден.

1 Ответ

1 голос
/ 14 апреля 2019

Существует несколько вариантов решения описанной проблемы:

  • Напишите скрипт-обертку, который сначала устанавливает рабочий каталог на фиксированный путь перед запуском тестов.
  • Вы можетепередайте абсолютный путь в переменной среды в ваш исполняемый файл теста.
  • Вместо того, чтобы читать данные теста из файла, включите данные теста в код теста.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...