Jacoco和jetty maven插件在SonarQube中获得0%的覆盖率

时间:2016-08-30 13:19:55

标签: jetty sonarqube jacoco sonarqube-scan maven-failsafe-plugin

我正在尝试使用jacoco& amp;获取我的项目中的IT覆盖率报告。码头。我正在运行针对jetty的集成测试(使用maven插件)。我已完成设置。这是我的POM

<profile>
        <id>quality-check</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.17</version>
                    <configuration>
                        <argLine>${surefireArgLine}</argLine>
                        <skipTests>false</skipTests>
                        <excludes>
                            <exclude>**/*IT*</exclude>
                        </excludes>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.12</version>
                    <configuration>
                        <skipTests>false</skipTests>
                        <includes>
                            <include>**/*IT*</include>
                        </includes>
                        <systemPropertyVariables>
                            <!--  ... //Whatever you need to configure on your integration test, if any.-->
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.7.5.201505241946</version>
                    <executions>
                        <execution>
                            <id>pre-unit-test</id>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                            <configuration>
                                <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile>
                                <excludes>
                                    <exclude>**/*Test*</exclude>
                                </excludes>
                                <propertyName>surefireArgLine</propertyName>
                            </configuration>
                        </execution>
                        <execution>
                            <id>post-unit-test</id>
                            <goals>
                                <goal>report</goal>
                            </goals>
                            <configuration>
                                <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile>
                                <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                            </configuration>
                        </execution>
                        <execution>
                            <id>pre-integration-test</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                            <configuration>
                                <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
                                <excludes>
                                    <exclude>**/*Test*</exclude>
                                </excludes>
                                <propertyName>jacoco.agent.itArgLine</propertyName>
                            </configuration>
                        </execution>
                        <execution>
                            <id>post-integration-test</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                            <configuration>
                                <dataFile>${project.build.directory}/coverage-reports/jacoco-it.exec</dataFile>
                                <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                    <version>9.2.10.v20150310</version>
                    <executions>
                        <execution>
                            <id>start-jetty</id>
                            <phase>pre-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                                <goal>run-forked</goal>
                            </goals>
                            <configuration>
                                <scanIntervalSeconds>0</scanIntervalSeconds>
                                <daemon>true</daemon>
                                <waitForChild>false</waitForChild>
                                <maxStartupLines>200</maxStartupLines>
                                <jvmArgs>${jacoco.agent.itArgLine} -Djetty.port=${integration.tests.jetty.port}</jvmArgs>
                            </configuration>
                        </execution>
                        <execution>
                            <id>stop-jetty</id>
                            <phase>post-integration-test</phase>
                            <goals>
                                <goal>stop</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <scanIntervalSeconds>10</scanIntervalSeconds>
                        <stopKey>STOP</stopKey>
                        <stopPort>9999</stopPort>
                        <httpConnector>
                            <port>${integration.tests.jetty.port}</port>
                        </httpConnector>
                        <contextXml>../integrationTest/jetty_context.xml</contextXml>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

jetty_context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN"     "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath">/SAI</Set>
  <Set name="extraClasspath">../testResources/src/test/resources</Set>
</Configure>

根据帖子Jacoco and jetty maven plugin gets 0% coverage完成设置。但还没有运气。

覆盖率为0%

在日志中我可以看到错误:

[INFO] Forked process starting
[INFO] Forked process startup errors

有人可以帮我吗?我还需要做其他事吗。

0 个答案:

没有答案