Mavenを使用して、SpringBootバックエンドアプリケーションサーバーでJUnit5を使用しています。こちらがsonar-project.properties
プロジェクトのルートにあるファイル:
sonar.Host.url=https://sonarcloud.io
sonar.login=xxx
sonar.organization=xxx
sonar.projectKey=xxx
sonar.sourceEncoding=UTF-8
sonar.language=Java
sonar.Java.source=12
sonar.sources=src/main/Java
sonar.test=src/test
sonar.Java.binaries=target/classes
sonar.junit.reportPaths=target/test-results/TEST-**.xml
sonar-scanner
コマンドラインを実行して、ビルド/テスト後にプロジェクトを更新します。
Sonar-cloudのOverview
ボードは次のようになります。
少なくとも単体テストは認識されましたが、どういうわけかコードカバレッジに関してはまだ0%です。さらに、ここにMeasures
ボードがあります:
どうやら、私のテストは行をまったくカバーしていません。今、私はこれがおそらくテスト結果を適切にフックしなかったことを意味していることを認識していますが、それを行う方法がわかりません。
SonarQubeが私のテストを認識しているにもかかわらず、実際にテストのコード行自体はテストされていないというのも私を困惑させています。これはどういう意味ですか?
これが動作しているsonar-project.properties
ファイル:
# SONAR CLOUD CONFIGS
sonar.Host.url=https://sonarcloud.io
sonar.organization=xxx
sonar.projectKey=xxx
sonar.login=xxx
# SOURCES
sonar.Java.source=12
sonar.sources=src/main/Java
sonar.Java.binaries=target/classes
sonar.sourceEncoding=UTF-8
# EXCLUSIONS
# (exclusion of Lombok-generated stuff comes from the `lombok.config` file)
sonar.coverage.exclusions = **/*Exception.Java , **/MySpringBootApplication.Java
# TESTS
sonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml
sonar.junit.reportsPath=target/surefire-reports/TEST-*.xml
sonar.tests=src/test/Java