«Почему вы просто думаете, что ваши тесты хороши, когда вы можете точно знать? Иногда Джестер говорит мне, что мои тесты герметичны, но иногда обнаруженные изменения происходят как гром среди ясного неба. Настоятельно рекомендуется ». - Кент Бек
Но я вижу, что в stackoverflow нет даже тега с именем Jester . Так что же является современной заменой для Шута , если таковая имеется? Как можно быть уверенным в том, что написанные модульные тесты хороши, кроме поиска статистики по покрытию кода с помощью таких инструментов, как Cobertura и Clover ?
java
unit-testing
code-quality
tdd
Компьютерщик
источник
источник
Ответы:
Насколько я знаю, мутационное тестирование остается лучшим автоматизированным процессом для измерения качества вашего набора тестов. Есть две хорошие современные замены для шута
http://pitest.org (я автор)
https://github.com/david-schuler/javalanche/
Подробное сравнение между ними, шутом и парой других систем доступно здесь
http://pitest.org/java_mutation_testing_systems/
Я думаю, что главная причина, по которой шут никогда не снимал, заключалась в том, что он был неоправданно медленным и очень плохо масштабировал.
PIT и javalanche оба пытаются решить эту проблему аналогичным образом. Вместо того чтобы вслепую запускать все тесты в проекте на предмет мутации, они сначала собирают покрытие строк и запускают только те тесты, которые действительно могут повлиять на мутацию.
PIT также выполняет различные другие оптимизации, чтобы ускорить процесс и предлагает возможность повторно использовать результаты предыдущего анализа, чтобы значительно снизить вычислительные затраты последующих прогонов.
источник