Я настроил анализ 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 показывает покрытие для обоих классов.
Как я могу исключить тестовый класс из рассмотрения для данных о покрытии?
jacoco-maven-plugin
в вашемpom.xml
? - person tomasulo   schedule 18.10.2019sonar.coverage.exclusions
так же, как вы использовалиsonar.test.exclusions
- person Imaguest   schedule 18.10.2019