Инструмент покрытия кода, который поддерживает аннотации тестов JUnit, чтобы указать, какой метод охватывает Unit Test
Я ищу что-то вроде " Указание покрытых методов" для Java в PHPUnit. Это означает инструмент покрытия кода, который поставляется с аннотациями для моих тестов JUnit, чтобы я мог указать, какой метод тестируется каким тестом JUnit.
Результатом этого будет гораздо более правильная метрика для покрытых строк, потому что учитываются только строки указанного метода, а не все исполняемые строки всего приложения.
1 ответ
Этот подход звучит так, как будто это будет тяжелым бременем для программиста. Он либо предполагает соответствие 1:1 между тестом и методом (что противоречит обычному совету думать с точки зрения тестирования поведения класса, а не методов), либо требует, чтобы программист вручную отслеживал маршрут через частные методы и т. Д. Для каждая точка входа в качестве кода подвергается рефакторингу и изменению с течением времени.
Трудно понять, как это можно реализовать с безопасностью типов - для быстрых автоматизированных операций, таких как переименование методов, потребуется обновить шаг вручную для обновления аннотаций в тестах.
Если ваше требование состоит в том, чтобы получить более точную оценку эффективности вашего набора тестов, альтернативный подход, который вы могли бы рассмотреть, - это мутационное тестирование. Это вызывает ошибки в вашем коде, а затем проверяет, способен ли ваш пакет их обнаружить.
Существует ряд систем, доступных для Java, включая
Сравнение их доступно здесь