2015-08-06 3 views
2

У нас есть мультимодульный проект maven.сонар с jacoco, показывающий покрытие только для testng, а не для powermock

В каждом модуле имеется несколько испытательных модулей testng и powermock. Мы используем jacoco для отчета о покрытии кода. Но, jacoco анализирует единичное тестовое покрытие на основе тестовых примеров тестовых блоков и игнорирует тестовый блок для силовой установки. Таким образом, общий охват кода снижается.

Как настроить jacoco для сбора тестовых примеров testng и jacoco?

ответ

0

Как указано в bkail, jacoco и powerermock instrumentation, не смешивайте их хорошо.

Я написал альтернативный плагин maven на основе Cobertura, который позволяет вам правильно рассчитывать покрытие на классы, покрываемые испытаниями powermock. Вы можете посмотреть на него (любая обратная связь будет очень ценна) здесь:

https://github.com/QualInsight/qualinsight-mojo-cobertura

В настоящее время я пытаюсь его на множестве проектов с использованием powermock (500k NCLOC общее, 110+ тестовые классы с использованием powermock) для обнаружения ошибок/странного поведения, но любая другая обратная связь была бы оценена.

Отчеты об UT и IT-покрытиях, созданные этим плагином maven, могут быть напрямую импортированы в SonarQube с использованием общего плагина для тестирования (см. Документацию по проекту). Общее покрытие также будет доступно, если SonarQube примет следующий запрос на подачу:

https://github.com/SonarSource/sonar-generic-coverage/pull/5

в качестве примечания, причины, которые привели к написанию альтернативу Cobertura-Maven-плагин объясняется на странице проекта.

Надеюсь, это поможет!

Cheers