Pycharm / IntelliJ показывает 0% покрытие для pytest, даже если покрытие было сгенерировано
У меня есть проект Python и задача tests
, настроенная для запуска pytest
из рабочего каталога проекта.
Выполнение Run 'tests' with coverage
из меню Run
успешно запускает тесты, и результаты консоли показывают, что покрытие было измерено - например, 53% покрытия для mws.py
.
Автоматически применяемое покрытие (как справа) составляет 0% для всех файлов, я не уверен, почему. Я использую IntelliJ 2017.2.2 EAP.
NB: существует связанная пятилетний вопрос здесь , но самое рейтинговое решение там не применяется. В этом случае сообщение об ошибке в консоли результатов отсутствует.
2 ответа:
Я думаю, что проблема заключается в том, что вы используете
pytest-cov
, поэтому Pycharm не может разобрать результат, который показан в тексте, как53%
, порожденныйpytest-cov
;Поэтому изменяет опцию в
pytest.ini
наaddopts = -s -v
, Когда вы хотите использовать Pycharm, встроенные в инструменты покрытия.
Взгляните на мой ответ на другой вопрос о той же проблеме: https://stackoverflow.com/a/45729723/1229510
В основном, если вы используете символьные ссылки - отображение покрытия не будет работать.