Anand
Anand

Reputation: 31

sonar jacoco report not executed

I have added code for generating jacoco coverage report using sonar.But when i am running mvn clean install sonar:sonar.Only sonar-related functionality executed.Jacoco coverage report is not generated.

<!-- Below plugin ensures the execution of test cases during maven build -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <include>${runSuite}</include>
                    </includes>
                </configuration>
            </plugin>

            <!-- Sonar-JaCoCo integration plugin -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.7.6.201602180812</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>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>

            <properties>
        <sonar.sources>src/main</sonar.sources>
        <sonar.tests>src/test</sonar.tests>
        <!-- Below property indicates the pattern of the test suite -->
        <runSuite>**/*Suite.class</runSuite>
        <!-- Sonar-JaCoCo properties -->
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
        <sonar.jacoco.reportPath>${basedir}/../target/jacoco.exec</sonar.jacoco.reportPath>
        <sonar.language>java</sonar.language>
    </properties>

Upvotes: 0

Views: 2228

Answers (1)

G. Ann - SonarSource Team
G. Ann - SonarSource Team

Reputation: 22794

The Java plugin no longer runs your unit tests for you. As documented here, you need to launch them yourself before the analysis:

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true

Upvotes: 1

Related Questions