Задача: У меня огромная база кода с большим количеством тестов. При добавлении теста я понял, что некоторые существующие модульные тесты в них охватывают одни и те же классы/функции дважды или чаще. Те тесты находятся в разных местах, поэтому трудно понять, что они тестируют один и тот же код.Поиск дублирующих модульных тестов по одному и тому же кодам
В этом коде нет аннотаций @covers
. Поэтому я не могу использовать их для идентификации «избыточно проверенного» кода.
PHPUnit может обрабатывать множество флагов командной строки для, например, бесполезные тесты с --report-useless-tests
. Было бы здорово, если бы было --report-redunant-tests
, но, как я вижу, такой опции нет.
Вопрос: Знаете ли вы, как узнать, какой код тестируется дважды и какой модульный тест отвечает за эти тесты?
Справочная информация: При удалении избыточных тестов я хочу утверждать следующее.
- Код, отвечающий за тестирование, должен быть полным, но небольшим, насколько это возможно.
- Если какая-либо функциональность меняется, в идеале вам нужно только отрегулировать один случай проверки.
- Сократите время выполнения всего пакета тестов модулей.
спасибо. Конечно, они могут тестировать разные сценарии, я не думал об этом сначала :(Но я хочу хотя бы попробовать и понять, какой тест может быть «действительно» устаревшим. Но да, было бы очень сложно классифицировать правильно. Я рассмотрю различные варианты покрытия. Вариант PHP выглядит наиболее перспективным. – cb0