Плагин pytest-cov

Как использовать плагин pytest-cov

pytest-cov — это плагин для pytest, который позволяет измерять покрытие кода тестами при использовании инструмента coverage. Инструмент "покрытие" используется для определения, какие строки кода были выполнены (и не выполнены) в процессе тестирования, что позволяет определить, насколько хорошо ваш код покрыт тестами.

Давайте рассмотрим, как использовать pytest-cov.

Установка

pip install pytest-cov

Базовое использование

Чтобы запустить тесты и сгенерировать отчет о покрытии, используйте следующую команду:

pytest --cov=my_module test_my_module.py

Здесь my_module — это имя модуля, который вы хотите проверить на покрытие, а test_my_module.py — файл с тестами.

После выполнения команды вы увидите статистику покрытия в консоли.

Генерация отчетов

Вы можете генерировать отчеты в различных форматах:

Текстовый отчет:

pytest --cov=my_module test_my_module.py --cov-report term

HTML отчет:

pytest --cov=my_module test_my_module.py --cov-report html

Эта команда создаст каталог htmlcov, в котором будут содержаться HTML-страницы с детальным отчетом о покрытии.

XML отчет (обычно используется для интеграции с CI/CD системами):

pytest --cov=my_module test_my_module.py --cov-report xml

Отбор исключений

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

Пример файла .coveragerc:

[run]
omit =
    my_module/some_directory_to_omit/*
    my_module/some_file_to_omit.py

Заключение

pytest-cov является мощным инструментом для измерения покрытия кода тестами. Используя его, вы можете лучше понять, какие части вашего кода проверяются тестами и какие нет, что позволит улучшить качество вашего кода и набора тестов.

Содержание: