web-dev-qa-db-ja.com

Sonarqubeの実行後にコードカバレッジが表示されない

私はMavenでsonarqubeを実行しています。

次の way を使用してインストールしました。 brewを使用して、mysqlsonarをインストールしました。

実行すると7つの重大なバグが発生しますが、88テストのコードカバレッジはゼロです Sonarqube analysis

IntelliJのツールで実行すると、次の結果が得られます。 (ゼロではない!) IntelliJ analysis

これはJacocoの結果を直接確認するときです。 $base_direc/target/jacoco/index.html
Jacoco results

Sonar-scannerで実行した場合と同じコード sonar-scanner


これは私のMaven設定です
maven configuration

私の~/.m2/settings.xml
settings-pic1
settings-pic2


編集1:ログでこれを見つけました。 Db not supported


Edit2:~/.m2/settings.xmlを編集しました

<properties>
    <sonar.Host.url>http://localhost:9000/</sonar.Host.url>
</properties>

編集/usr/local/Cellar/sonarqube/6.3.1/libexec/conf/sonar.properties追加sonar.Host.url=http://localhost:9000/

編集/usr/local/etc/sonar-scanner.properties追加-sonar.Host.url=http://localhost:9000/

上記のすべての方法でアプリケーションを実行したところ、結果は同じでした。つまり、Jacocoの結果は表示できましたが、ソナーでは表示できませんでした。


バグが見つかった場合、ソナーがコードカバレッジを拒否する可能性はありますか?!

11
Tarun Maganti

私は解決策を見つけました-

私が含めたMavenプラグインには、Jacocoのdestfileとdatafileの構成が${basedir}/target/coverage-reports/jacoco-unit.exec

ただし、デフォルトでは、ソナーは${basedir}/target/jacoco.exechttp:// localhost:9000/settings?category = Java のデフォルトを変更しました


参照: ソナーコードカバレッジ

9
Tarun Maganti

次の手順を使用してこれを解決しました。

1.はじめに、pom.xmlに構成を追加しました。

<properties>
  <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
  <sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
  <sonar.language>Java</sonar.language>
</properties>

2. sonarqubeプロパティファイルに以下の部分を追加しました。

sonar.projectName=${JOB_NAME}
sonar.projectVersion=1.0.0
sonar.sources=src/main
sonar.sourceEncoding=UTF-8
sonar.language=Java
sonar.tests=src/test
sonar.junit.reportsPath=target/surefire-reports
sonar.surefire.reportsPath=target/surefire-reports
sonar.jacoco.reportPath=target/jacoco.exec
sonar.binaries=target/classes
sonar.Java.coveragePlugin=jacoco
sonar.verbose=true

0
SANITH