Запустить покрытие в каталоге тестов через Travis-CI - PullRequest
2 голосов
/ 28 мая 2019

Я не могу запустить cover.py в каталоге tests из проекта Python. У меня есть каталог тестов, содержащий файл __init__.py и несколько файлов test_*.py, в которых я определяю тесты, которые хочу запускать в блоке __main__ каждого файла теста.

Каталог тестов находится в той же папке, что и файл .travis.yml, который выглядит следующим образом:

enter image description here

Блок script работает, когда я запускаю один файл как coverage run tests/test_errors.py, но всякий раз, когда я пытаюсь запустить все файлы в каталоге, он не работает.

Я пробовал следующие решения:

Всякий раз, когда я запускаю покрытие для одного файла, кодеков выводит это:

enter image description here

Это то, что я ищу, но когда дело доходит до тестирования нескольких файлов Python, содержащихся в каталоге tests. Потому что, как вы можете видеть, это вывод кодеков, когда coverage run tests/test_investpy.py не для всего каталога `tests / '.

Любая помощь или информация приветствуется! Заранее спасибо!

(ПРИМЕЧАНИЕ: для получения дополнительной информации о структуре проекта вы можете проверить проект в https://github.com/alvarob96/investpy, поскольку это проект с открытым исходным кодом)

1 Ответ

1 голос
/ 28 мая 2019

После дополнительных исследований и испытаний я обнаружил, что в документации pytest-cov есть приложение для создания нескольких отчетов о покрытии за один прогон теста: https://pytest -cov.readthedocs.io / ан / последний / reporting.html

Чтобы выполнить каждый тест, содержащийся в tests/, и получить результаты покрытия кода в codecov , строка сценария внутри .travis.yml должна быть: pytest --cov-report term --cov=investpy tests/, через pytest you может генерировать отчет о покрытии терминала для проекта с указанием каталога tests/.

Таким образом, .travis.yml при запуске нескольких тестов в одном проекте для объединения результатов покрытия кода должно быть:

.travis.yml file fixed

Итак, для запуска тестов покрытия на Travis-CI требуются следующие пакеты:

  • pip install pytest==4.5.0
  • pip install codecov==2.0.15
  • pip install pytest-cov==2.7.1

Как я уже решил, не стесняйтесь спрашивать меня, если у вас есть такая же проблема, и я все равно могу вам помочь! Если вы нашли этот ответ полезным, пожалуйста, оцените этот ответ!

...