Back to questions
Альфа-Банк
Senior
12
Что такое тестовое покрытие и как его можно измерять?
Companies where asked
Answer from AI
sobes.tech AI
Тестовое покрытие — это метрика, показывающая, какая часть кода покрыта автоматическими тестами. Она помогает оценить полноту тестирования и выявить непроверенные участки.
Основные виды покрытия:
- Покрытие строк (line coverage) — сколько строк кода выполнено во время тестов.
- Покрытие ветвлений (branch coverage) — сколько логических ветвлений (if/else) проверено.
- Покрытие функций (function coverage) — сколько функций вызвано.
- Покрытие условий (condition coverage) — проверка всех условий внутри выражений.
Измерять покрытие можно с помощью инструментов, например:
- Istanbul/nyc для JavaScript/TypeScript
- JaCoCo для Java
- Coverage.py для Python
Они анализируют выполнение тестов и генерируют отчёты с процентами покрытия и детализацией по файлам.
Пример команды для измерения покрытия с nyc:
nyc mocha
Где mocha — тестовый фреймворк. В итоге получаем отчёт с процентами покрытия.