要生成emma报告,我运行了这些命令。
1. mvn install -Pwith-emma
2. java -cp %USERPROFILE%/.m2/repository/emma/emma/2.1.5320/emma-2.1.5320.jar emma report -r xml,html -in coverage.ec -in target/coverage.em
在运行命令之后,我能够生成emma报告,并且能够按我的意愿排除包,并且它给我全班覆盖报告。 但问题是,当我点击任何特定的类来查看我得到的文件报告(代码覆盖率)时:
[在源路径中找不到源文件'com / test / test.java'] 当我生成艾玛报告时。
这是关于emma-maven-plugin<
的my pom.xml条目 <profile>
<id>with-emma</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
<id>instrument</id>
<phase>process-test-classes</phase>
<configuration>
<filters>
<filter>-com.test.generated.ceq.*</filter>
<filter>-com.activities.*</filter>
</filters>
</configuration>
<goals>
<goal>instrument</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
检查了很多链接后我觉得命令有问题
2. java -cp %USERPROFILE%/.m2/repository/emma/emma/2.1.5320/emma-2.1.5320.jar emma report -r xml,html -in coverage.ec -in target/coverage.em
但尝试了许多但无法解决此问题。感谢。
答案 0 :(得分:1)
AFAIK,您应该添加“艾玛报告”&#39;命令行-sp标志以包含报告中的源:
java -cp %USERPROFILE%/.m2/repository/emma/emma/2.1.5320/emma-2.1.5320.jar emma report -r xml,html -sp /<path-to-project>/src/main/java/ -sp /<path-to-another-project>/src/main/java/ -in coverage.ec -in target/coverage.em
答案 1 :(得分:0)
达尼,
我不明白 - 您使用EMMA的命令行选项还是想使用emma maven插件?
如果是第一个只运行您的命令并在那里包含过滤器。您可以使用此参考:http://emma.sourceforge.net/reference_single/reference.html#tool-ref.instr.cmdline
如果你想使用maven,请查看:http://mojo.codehaus.org/emma-maven-plugin/usage.html。我会强调以下段落:
“在单独的jvm中执行测试很重要,因为EMMA会在JVM终止时转储覆盖范围。测试需要一个不同的类目录来加载已检测的类。(这些类没有检测到因为我们不希望在已发布的jar中使用已修改的类。)“