JavaとGroovyの両方で書かれたテスト用のSonar表示コードカバレッジを作成するにはいくつかの問題があります。Sonar + JaCoCo - JavaとGroovy両方のコードカバレッジ
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
...
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.7.201606060606</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<append>true</append>
</configuration>
<executions>
<execution>
<id>agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
マイソナープロパティ:ファーストサーバ用のpom.xmlはこのようになります
firstServer
src/test/groovy
package1
GroovyTest1.groovy
GroovyTest2.groovy
src/test/java
package2
JavaTest1.java
JavaTest2.java
:私は、モジュールは次のように例示することができるMavenのマルチモジュールプロジェクトを持っています親にあるpom.xml:
<properties>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.jacoco.reportPath>${project.basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
</properties>
mvn package sonar:sonarコマンドを実行してSonarQubeにアクセスして結果を確認すると、コードカバレッジはJavaクラスのみを考慮に入れます。私は単体テストの中で、私がそれらの多くを持っているにもかかわらず、グルーヴィーなクラスを見ることができません。私は私のPOMファイルに何かが欠けていると思いますが、私は何がわかりません。私は、SonarとJaCoCoを使用する場合、GroovyとJavaのテストクラスを混在させることが可能であることを読んでいます。私の質問は単純に、私は何が欠けているのですか?
ありがとうございます!
私は**に任意のGroovyクラスを持っていないポンポンファイルに次のプロパティを追加します。管理者/管理者としてログインし、管理/システム/更新センター]タブに
私は設定の2番目の部分を忘れました...更新された答えを見てください。あなたがそれを必要としない場合は、ソース設定を削除することができます。 – cjstehno
答えをありがとうが、私は問題があります。私はgroovyソースがないので、sonar.testsプロパティーだけを追加しました。 プロジェクトのビルドは成功しましたが、Groovyテストは引き続き処理されません。私は、Sonarが** src/test/groovy **を含むMavenモジュールをスキャンすると、Groovyテストクラスが見つからないことに気付きました。ログメッセージは次のとおりです。 [警告]リソースが見つかりません:myPackage.MyGroovyTest アイデアはありますか? –