#pytest #coverage.py
Вопрос:
Я пытаюсь получить отчет о покрытии своего кода, выполнив следующую команду:
python3 -m pytest --cov-config=.coveragerc --cov=main/lambda_function tests
Я запускаю команду в терминале pycharm в репо, и мой основной код находится в разделе main/lambda_function.
У меня был правильно настроен .coveragerc, но как только я переместил файл lambda_function в раздел main, мой отчет о покрытии перестал работать:
[run]
source =
lambda_function
rds_config
[paths]
source =
src/lambda_function
[report]
show_missing = true
precision = 2
Я попытался добавить main/, но я получаю ошибку:
Coverage.py warning: Module main/lambda_function was never imported. (module-not-imported)
Coverage.py warning: No data was collected. (no-data-collected)
WARNING: Failed to generate report: No data to report.
Чего мне не хватает?
Ответ №1:
Значение —cov должно быть путем, как задокументировано:
--cov=PATH
Измерьте охват пути файловой системы. (допускается несколько вариантов)
Попробуйте изменить путь покрытия на основной каталог, содержащий
python3 -m pytest --cov-config=.coveragerc --cov=main tests
Или попробуйте использовать обозначение имени модуля python с использованием точки .
и без расширения файла main.lambda_function
python3 -m pytest --cov-config=.coveragerc --cov=main.lambda_function tests
Комментарии:
1. Значит, он работает и сейчас? Проверьте свои тесты. Вероятно, это не вызывает ваш код. Может быть, вы насмехались надо всем?