Я настроил анализ SonarCloud для проекта Java, который запускает анализ при создании PR в репозитории git.
Команда для запуска проверки в моем файле .travis.yml
:
mvn clean compile test dependency:copy-dependencies
sonar-scanner
-Dsonar.projectKey=project-key
-Dsonar.java.binaries=project/target/classes
-Dsonar.java.test.binaries=project/target/test-classes
-Dsonar.java.libraries=project/target/dependency
-Dsonar.java.test.libraries=project/target/dependency
-Dsonar.test.exclusions=project/src/test/**/*Test.java
Что ожидается
Если кто-то проверяет код в запросе на извлечение, у которого есть тестовый класс, его не следует рассматривать для покрытия. Только целевой класс должен быть.
Что происходит
Если я регистрирую 2 класса SonarSample.java
и SonarSampleTest.java
, тогда SonarCloud показывает покрытие для обоих классов.
Как я могу исключить тестовый класс из рассмотрения для данных покрытия?