2

統合テストが maven-failsafe-plugin によって実行され、単体テストが maven-surefire-plugin によって実行されるプロジェクトがあります。

jacoco を使用してカバレッジ レポートを生成します。

<properties>
    <coverage.reports.dir>${project.build.directory}/coverage-reports</coverage.reports.dir>
    <sonar.jacoco.reportPath>${coverage.reports.dir}/jacoco-unit.exec</sonar.jacoco.reportPath>
    <sonar.jacoco.itReportPath>${coverage.reports.dir}/jacoco-it.exec</sonar.jacoco.itReportPath>
</properties>

[...]

        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.5.7.201204190339</version>
            <executions>
                <execution>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <propertyName>jacoco.agent.argLine</propertyName>
                <destFile>${sonar.jacoco.itReportPath}</destFile>
                <dataFile>${sonar.jacoco.itReportPath}</dataFile>
            </configuration>
        </plugin>

[...]

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.5</version>
          <configuration>
              <argLine>${jacoco.agent.argLine}</argLine> 
          </configuration>
    </plugin>

[...]

<profile>
  <id>dev</id>
  <properties>
    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
  </properties>
</profile>

[...]

mvn install を実行すると、Jacoco カバレッジ レポートが正常に生成されます。

しかし、 mvn -mvn -Pdev sonar:sonar を実行すると、Sonar は Jacoco の代わりに Cobertura プラグインを使用します。

私が試してみました:

1)ソナー設定でjacocoをデフォルトのカバレッジプラグインとして設定します[動作しませんでした]

2) コマンド ラインで Jacoco パラメータを指定します (例: -Dsonar.core.codeCoveragePlugin=jacoco) [同様に機能しませんでした]

誰にもアイデアはありますか?ありがとう。

ところで、私はSonar 2.8を使用しています

4

0 に答える 0