Skip to main content

Повысить тестовое покрытие

Используйте этот сценарий, когда нужно закрыть непокрытые строки и ветки, зафиксировать текущее поведение legacy-кода или пройти установленный в проекте порог покрытия.

Когда применять

  • перед рефакторингом сложного кода;
  • при передаче legacy-кода на поддержку;
  • когда проект не проходит quality gate по покрытию;
  • когда существующие тесты покрывают основные сценарии, но оставляют отдельные ветки без проверки.

Что подготовить

  • класс или метод, покрытие которого нужно повысить;
  • существующие тесты, если они уже есть;
  • рабочую конфигурацию запуска тестов;
  • целевой уровень покрытия, если он установлен в проекте.

Как повысить покрытие

  1. Откройте нужный класс или метод.
  2. Нажмите значок Veai рядом с ним и выберите Veai: Analyze and Increase Test Coverage.
  3. Дождитесь запуска найденных тестов и измерения текущего покрытия.
  4. Просмотрите непокрытые строки и ветки. Убедитесь, что для них действительно нужны отдельные сценарии.
  5. Запустите увеличение покрытия.
  6. Veai добавит тесты, выполнит их и покажет новый результат покрытия.
  7. Если целевой уровень не достигнут, повторите анализ оставшихся непокрытых веток.
  8. Просмотрите созданные тесты и оставьте только те, которые проверяют осмысленное поведение.

Как проверить результат

Запуск тестов и сбор покрытия через конфигурацию IDE

Повторный запуск через IDE помогает проверить новые тесты и сравнить покрытие.

  • сравните покрытие строк и веток до и после изменений;
  • запустите весь связанный набор тестов;
  • проверьте, что новые тесты содержат содержательные утверждения;
  • убедитесь, что тесты воспроизводимо проходят;
  • просмотрите изменения в Agent Changes.

Рост процента сам по себе недостаточен: новые тесты должны фиксировать полезное поведение и обнаруживать его нарушение.

Критерий готовности

Сценарий завершён, когда достигнут нужный уровень покрытия либо обосновано, почему оставшиеся строки не следует покрывать, а все новые и существующие связанные тесты проходят.

Ограничения

Прогон тестов с измерением покрытия может занимать больше времени, чем обычный запуск. Доступность функции зависит от IDE и языка — перед началом проверьте матрицу функциональности.

Связанные страницы