- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Eclipse 和 EclEmma 在 Java 中覆盖我的代码。
我的测试使用的是 JUnit 4,我有一些测试看起来像这样:
@Test(expected = IllegalArgumentException.class)
public void createTime_withInvalidMinuteUnder0_throws(){
//Arrange
...
//Act
Something triggering IllegalArgumentException Here
}
EclEmma 说测试失败是因为抛出了 IllegalArgumentException。所以它会丢弃我的代码覆盖率指示器,即使它应该抛出一些东西。是否有选项让它看到 JUnit 预期的异常标记?
编辑:我发现如果您也将 throw 添加到测试声明中,它会起作用!
最佳答案
不,没有办法让 EclEmma 注意到 expected
子句。他们承认这个事实here .
Why are JUnit4 test cases with expected exceptions shown as not covered?
JUnit4 test cases with expected exceptions are shown as not covered even though they were executed. The reason for this is that underlying JaCoCo code coverage library only considers code as executed when certain probes are executed. For successful test cases marked with
@Test{expected=...}
this is not the case.
就个人而言,我不会太担心它。测试用例的覆盖率是 EclEmma 可以告诉您的最不有趣的事情;我总是完全忽略这些指标并专注于我的生产代码的覆盖率。
关于java - 使用 EclEmma 的 Java 代码覆盖率不扫描预期的异常方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12757559/
我正在使用 eclEmma 插件来测试我的 gwt 应用程序的代码覆盖率。我为客户端代码编写了 jUnit 测试类,例如测试 get/set 方法等,以及 rpc 服务的 jUnit 测试。我使用“s
我在氧气版本上安装了 eclemma:Oxygen.3a 版本 (4.7.3a)Build id:20180405-1200 并且正在运行,但它似乎从菜单中消失了。 正在尝试更新,收到以下消息。删除并
我正在使用junit/eclemma;它工作得很好,除了我想指示 eclemma 忽略某些方法或类。例如,我将如何指示 eclemma 忽略 getter/setter。 提前致谢! 最佳答案 您可以
我正在使用 Eclipse-STS + EclEmma 插件来查看代码的覆盖范围。在我的所有抽象 util 类(仅包含静态方法)中,我在类定义行看到 3 个丢失的指令(指令计数器 报告): 红线左侧没
我正在尝试将 EclEmma 与 Eclipse 一起使用,但我无法让它工作。我看不到应该在覆盖模式下启动我的项目的按钮,在运行菜单中也没有这样的选项: 我已经尝试用我在 Internet 上找到的两
我没有达到 100% 的代码覆盖率,但我愿意。除非我看到 100% 的绿色,否则我想知道我忘了测试什么,去寻找只是基于工具而不是我的测试来找出愚蠢的东西让我远离它。然后我忘记了,不得不冲洗/重复。 虽
我有一个以以下开头的类: public class GeneralID implements WritableComparable{ ... } 还有一个是: public class LineVal
我遇到了在 Eclipse 中使用 EclEmma 插件的问题。 当我使用注释时,它不显示代码覆盖率 @RunWith路过(PowerMockRunner.class)作为论据。如果使用 (Mocki
所以我在 Eclipse 中使用 EclEmma 来生成 XML 覆盖率报告。看起来像这样: - - - - - -" line="3" desc="()V"> -
我有configured EclEmma not to instrument my unit tests效果很好。然而,编辑器仍然将测试代码突出显示为未覆盖。我不希望在单元测试中突出显示,因为它们没有
测试我的代码时我遇到了无法解释的事情。使用 eclemma 检查代码覆盖率我找到了 for-loop 的标题以黄色突出显示,消息内容为 "1 of 2 branches missing" . 代码行如
在覆盖结果中,它显示我已经覆盖了 9 条指令,而只有 5 行以绿色突出显示。其他 4 条指令是哪些? 最佳答案 单击 Coverage 框右上角的下拉箭头。它会给你一个 couple differen
我有 configured EclEmma not to instrument my unit tests效果很好。但是,编辑器仍然会突出显示未覆盖的测试代码。我不想在单元测试中突出显示,因为它们没有
我们在 JUnit 中使用 EasyMock 和 PowerMock。使用的覆盖工具是 ECLEmma。使用 EasyMock,它以绿色(如已覆盖)正确显示覆盖范围。但是,对于使用 PowerMock
我是第一次使用 EclEmma,我注意到我的主类的标题从未被覆盖。 main 方法中的所有内容都是绿色的,但 header 本身“public class Main”始终是红色的。 为了找到问题的根源
我有 Eclipse for Java Developer 4.3 和 m2e,eclemma,infinitest。我的项目使用带有 junit 4.11 的 Eclipse m2e。 我的目的是在
我认为eclemma是粗略估计我的测试覆盖率的好工具,但在报告中,它还会显示测试本身的覆盖率,这很烦人。有什么简单的方法可以禁用它(从而只显示程序代码覆盖率)吗? 最佳答案 假设您将测试用例保存在单独
我正在使用 Eclipse Mars 4.5.2。为我的应用程序运行覆盖测试时,到目前为止,它有 317 个测试方法,当它即将完成时(运行大约 274 个方法),我遇到错误,我找不到解决方案。 首先是
我正在尝试改进代码的行覆盖率。在我调用一个方法的地方执行了一行,该方法又会抛出异常。但是行覆盖显示红色,表示该行未执行。 代码: 1 public void myMethod(SomeService
代码覆盖率工具ECLEmma有一个奇怪的问题: 对于类(class)MyFirstLogger我写了测试类MyFirstLoggerTest : 请注意我在 MyFirstLoggerTest 中写道
我是一名优秀的程序员,十分优秀!