Качественные врата на мутации Питеса не запускаются, когда проект не запускает Питс
Мы используем плагин pitest в sonarqube и устанавливаем качественные ворота для охвата мутации, так как он гораздо ценнее других измерений покрытия. Только когда проект выдвигается без использования pitest, ворота качества вообще не запускаются. Можно ли определить качественные ворота, чтобы обнаружить, что питест вообще не определен для проекта? Спасибо
1 ответ
Простой ответ на ваш вопрос: нет, это не так. Условия качества ворот не могут быть вызваны отсутствием метрики. Таким образом, метрика должна быть вычислена. Но самая последняя версия sonar-pitest-plugin (0.9) вычисляет информацию о покрытии только при наличии данных анализа мутации (= существует отчет о питесте).
Однако изменение не слишком сложно, если вам нужно срочное исправление, проверьте класс PitestComputer в строке 84 и добавьте следующий блок else:
if (mutationsTotal != null) {
...
} else {
context.addMeasure(PitestMetrics.MUTATIONS_KILLED_PERCENT_KEY, 0.0);
}
Скомпилируйте его и установите вручную в свой экземпляр.
Тем не менее, я хочу кратко рассказать о том, что в SonarQube есть новый плагин для анализа мутаций (полное раскрытие: я автор), с несколькими новыми функциями, правилами и т. Д.
Плагин доступен через торговую площадку (называется "Анализ мутаций"). Плагин имеет те же ограничения, что и sonar-pitest-plugin, но я только что создал новую проблему, решающую вашу проблему:
https://github.com/devcon5io/mutation-analysis-plugin/issues/13
Изменить: эта функция реализована в версии 1.3