我正在尝试为我的GWT maven项目生成代码覆盖率。
它适用于我的jUnit测试
mvn test jacoco:report
但是当我跑步时
mvn gwt:test jacoco:report
生成一个空报告。
当我运行gwt:tests时,如何获得代码覆盖率?
的pom.xml
GWT:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<module>${gwtModule}</module>
<gwtVersion>2.5.1</gwtVersion>
<runTarget>https://localhost:8443/dashboard/mainview.jsp</runTarget>
<noServer>true</noServer>
<sourcesOnPath>true</sourcesOnPath>
<hostedWebapp>${war.target}</hostedWebapp>
<mode>HtmlUnit</mode>
</configuration>
<executions>
<execution>
<configuration>
<extraJvmArgs>-Xmx512m</extraJvmArgs>
</configuration>
<goals>
<goal>compile</goal>
<goal>test</goal>
</goals>
</execution>
</executions>
Jacoco:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.2.201302030002</version>
<configuration>
<destfile>${basedir}/target/coverage-reports/jacoco-unit.exec</destfile>
<datafile>${basedir}/target/coverage-reports/jacoco-unit.exec</datafile>
</configuration>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
答案 0 :(得分:3)
在命令行'
中输入此命令mvn help:describe -Dplugin=org.jboss.errai:jacoco-gwt-maven-plugin -Ddetail=true
您将从jacoco-gwt-maven-plugin获得详细输出。在此列表中,您可以看到可以设置的所有配置参数。您在创建报告时出现错误的错误:基于c:\ Users ......不存在与您在运行我上面指定的命令时看到的snapshotDirectory设置有关。当您的项目编译时,它会创建一个放置所有运行时类的文件夹。您需要找到您的maven pom放置这些类文件的位置,然后在您的pom中指定此路径。所以说你的类文件的路径位置是'target / test-classes',那么你的pom将是:
<plugin>
<groupId>org.jboss.errai</groupId>
<artifactId>jacoco-gwt-maven-plugin</artifactId>
<version>0.5.4.201202141554</version>
<configuration>
<snapshotDirectory>${project.build.directory}/test-classes</snapshotDirectory>
</configuration>
</plugin>
还有一点要注意kesse,你最初的问题是与org.jacoco的jacoco-maven-plugin有关。此插件使用GWT测试用例时,我也未能获得覆盖率结果。但是,Thomas Broyer在上面指出了org.jboss.errai组中的jacoco-gwt-maven-plugin。这个Errai小组是JBoss开发人员社区的一部分,这个插件与Errai框架有关。因此,为了使用GWT测试用例从Errai插件获取代码覆盖率结果,您必须使用Errai Framework。要了解有关Errai框架的更多信息,请转至http://errai.github.io/。