回答
万一你忘记做这些:
- 是否使用@Test标注你的测试?
- 您是将该类作为JUnit测试用例还是从覆盖按钮运行?
我不确定问题的原因是什么,导致它总是为我工作。你有没有从eclipse本身安装它?尝试卸载它,然后从eclipse重新安装。以下是如何做到这一点,以防万一:
- 在Eclipse中,点击“帮助”>“安装新软件”
- 点击“添加”,然后键入以下内容:
- 名称:EclEmma(或任何你想要的名称)
- 路径:http://update.eclemma.org/
- 选择EclEmma,并安装
根据官方网站,Eclemma是基于JaCoCo库的Eclipse代码覆盖插件。
当你要使用外Eclipse的代码覆盖引擎,你应该包括项目的Maven配置(POM)里面的插件Jacoco,如下面的(this code was copied from the Agile Engineering blog):
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.0.201210061924</version>
<executions>
<execution>
<id>jacoco-initialize</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>jacoco-site</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
运行测试只需键入的命令行工具如下:
mvn clean test
我无法插入[Eclemma](http://www.eclemma.org/)和[Emma网站]的超链接(http://emma.sourceforge.net/maven-emma-plugin/)在上面的帖子。 –
我也有同样的问题,我得到了一个GWT项目,而不是maven ...,因为Renanlf说,总是获得0%的覆盖率。 – Dipak
现在我意识到你只是想使用Eclipse内部的工具的报告...
如何在Eclipse对话框的代码覆盖率?您是否尝试过使用mouse right click on this dialog to export session (report)或File -> Export?
是的,这只是导出覆盖的执行情况,导出的报告继续以0%覆盖率=/ – renanlf
因此,我有两个建议: 1.尝试重新安装Eclemma插件(如果您使用更新站点进行安装它最后一次尝试从市场上安装它); 2。如果以前没有工作,试着直接从Maven使用JaCoCo库(正如我在其他文章中所解释的)来隔离问题,确保问题只是关于Jacoco(eclipse插件)上方的层,而不是来自此发动机。 –
我使用eclemma 2.3.2和它的基于Eclipse的工作完美
我只需要在我的pom.xml
<dependency>
<groupId>org.jboss.arquillian.extension</groupId>
<artifactId>arquillian-jacoco</artifactId>
<version>1.0.0.Alpha6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.core</artifactId>
<version>0.7.1.201405082137</version>
<scope>test</scope>
</dependency>
然后我生成项目,更新添加这些依赖如预期
Maven项目配置和运行覆盖插件我只是遇到了这个问题,它是由配置不正确的类路径造成的。当单元测试被执行时,它们针对一个编译的jar(在eclipse之外编译的实际源代码)执行,而不是我实际的源代码。从我的类路径中删除jar后,单元测试正确地打我的包源。
如果您正在使用eclemma,你需要添加jacoco依赖。如果jacoco已添加并仍,你都面临这个问题,请参阅该eclemma faq: "Why does a class show as not covered although it has been executed?"
它说,
首先确保执行数据已经收集。为此,请选择HTML报告右上角的“会话”链接,并检查是否列出了有问题的类。如果列出但未链接,则执行时的类是不同的类文件。确保您在运行时使用完全相同的类文件以生成报告。请注意,某些工具(例如EJB容器,模拟框架)可能会在运行时修改您的类文件。
因此,Mockito/PowerMockito可能会导致此问题。您可能已经实例化了要测试的类,并在该对象上执行了PowerMockito.spy()。您将看到测试用例没有错误地正确执行,但Jacoco不会在其报告中改进代码覆盖率。
你不应该把你在@PrepareForTest()注释测试的类。检查你是否已经添加它并将其从注释中移除。
我能够通过的测试用例上调用类的一个实例来解决地雷问题。 即
public hotelOccupancy hotel = new hotelOccupancy();
@Test
public void testName() {
// some test here
}
一旦我做到了我所有的报道开始工作,并在问题得到解决。
- 1. PHPUnit代码覆盖率报告0/0
- 2. 仪器测试jacoco覆盖率报告显示总是覆盖0%覆盖
- 3. Cobertura with Ant Script:xml/html覆盖率报告总是显示0%覆盖率
- 4. 艾玛代码覆盖率报告
- 5. pydev代码覆盖率报告为零
- 6. maven emma代码覆盖率报告
- 7. PHPUnit代码覆盖率0%
- 8. 如何在Hudson中汇总代码覆盖率报告?
- 9. EclEmma的代码覆盖率源代码注释
- 10. 将JUnit覆盖率报告与EclEMMA插件合并
- 11. PHPUnit代码覆盖率报告一些文件,因为它们没有代码(因此报告0/0行100%覆盖率)
- 12. Jacoco代码覆盖率显示Jenkins覆盖率为0%
- 13. 靶心覆盖率,代码覆盖率为0%
- 14. PHPSpec和覆盖率报告
- 15. PHPUnit,覆盖率报告显示非代码行没有涵盖?
- 16. 的NoClassDefFoundError与EclEmma代码覆盖工具
- 17. EclEmma JAVA代码覆盖率 - 无法覆盖RESTful Web服务的服务层
- 18. eclEmma - 类头的完整代码覆盖率?
- 19. 忽略EclEmma中单元测试的代码覆盖率
- 20. 是否有获得Apex代码的代码覆盖率报告的好方法?
- 21. 代码覆盖率报告“代码运行”,但不是由单独文件单元测试“代码覆盖”
- 22. APEX测试类0%代码覆盖率
- 23. EclEmma代码覆盖率忽略Junit测试
- 24. 严格的报告的代码覆盖率
- 25. VS 2010代码覆盖率报告未显示覆盖的行数
- 26. CakePHP v1.3:完整的代码覆盖率报告
- 27. Karma中多个浏览器的代码覆盖率报告
- 28. 使用cobertura插件转到Jenkins的代码覆盖率报告
- 29. jenkins管道作业的Cobertura代码覆盖率报告
- 30. JUnit测试的Maven代码覆盖率报告
叶氏,使用@Test。从覆盖按钮运行。测试运行正常,但覆盖率总是显示0%,所有红色路径。 – renanlf
我已更新答案,检查它是否有帮助。 – Steve
不...还是一样= /。你在Maven项目中使用它吗?导致这个问题似乎只发生在这里的maven项目 – renanlf