首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >surefire插件不能与jacoco插件一起使用

surefire插件不能与jacoco插件一起使用
EN

Stack Overflow用户
提问于 2014-08-18 20:25:48
回答 3查看 2.1K关注 0票数 0

我想在我的项目中进行测试覆盖。我创建了配置文件:我的pom xml配置文件是:

代码语言:javascript
复制
    <profile>
        <id>test-coverage</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven.surefire.plugin.version}</version>
                    <configuration combine.self="override">
                        <redirectTestOutputToFile>true</redirectTestOutputToFile>
                        <testFailureIgnore>true</testFailureIgnore>
                        <argLine>
                            -Xms128m -Xmx1G -XX:MaxPermSize=128M
                        </argLine>

                           <groups>com.project.test.annotation.QuickTest</groups>

                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>0.7.1.201405082137</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>prepare-agent</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>report</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>

            </plugins>
        </build>

    </profile>

我正在运行这些命令: mvn全新安装-DfailIfNoTests=false -P测试覆盖mvn sonar:sonar

我不能得到测试覆盖率,我错过了什么?我的声纳版本: 4.3

EN

回答 3

Stack Overflow用户

发布于 2014-08-18 22:26:35

您遇到的主要问题是surefire maven插件的argLine属性的定义,它应该设置为一个属性,而不是在插件的配置中。因为当您这样做时,JaCoCo maven插件无法设置argline来配置它的代理。

因此argLine应该被定义为pom中一个属性。

有关更多详细信息,请参阅http://docs.sonarqube.org/display/SONAR/JaCoCo+Plugin

票数 2
EN

Stack Overflow用户

发布于 2014-08-19 14:05:15

您应该能够向surefire插件添加一个jacoco侦听器,例如

代码语言:javascript
复制
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <!-- Minimal supported version is 2.4 -->
  <version>2.13</version>
  <configuration>
    <properties>
      <property>
        <name>listener</name>
        <value>org.sonar.java.jacoco.JUnitListener</value>
      </property>
    </properties>
  </configuration>
</plugin>
票数 0
EN

Stack Overflow用户

发布于 2016-04-13 22:40:07

只需将argline设置为如下所示

代码语言:javascript
复制
<argLine>
     ${argLine} -Xms128m -Xmx1G -XX:MaxPermSize=128M
</argLine>

这样,当JaCoCo为它的代理设置argLine时,您不会覆盖它,只需将您的just附加到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25363271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档