2016-07-06 27 views
2

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のテストクラスを混在させることが可能であることを読んでいます。私の質問は単純に、私は何が欠けているのですか?

ありがとうございます!

答えて

0

また、ソースとテストの設定を追加する必要があります。

​​

プラグインはそれ以外のGroovyを無視しているようです。

+0

私は**に任意のGroovyクラスを持っていないポンポンファイルに次のプロパティを追加します。管理者/管理者としてログインし、管理/システム/更新センター]タブに

  • を行くのsrc /メイン/グルーヴィー**。 ** src/test/groovy **のGroovyテストは、Javaクラスのコードをテストします。 –

  • +0

    私は設定の2番目の部分を忘れました...更新された答えを見てください。あなたがそれを必要としない場合は、ソース設定を削除することができます。 – cjstehno

    +0

    答えをありがとうが、私は問題があります。私はgroovyソースがないので、sonar.testsプロパティーだけを追加しました。 プロジェクトのビルドは成功しましたが、Groovyテストは引き続き処理されません。私は、Sonarが** src/test/groovy **を含むMavenモジュールをスキャンすると、Groovyテストクラスが見つからないことに気付きました。ログメッセージは次のとおりです。 [警告]リソースが見つかりません:myPackage.MyGroovyTest アイデアはありますか? –

    0
    1. GroovyプラグインをSonarにインストールします。 <sonar.tests>src/test/groovy,src/test/java</sonar.tests>
    関連する問題