Tag: eclemma

如何使用EclEmma和Eclipse忽略扫描某些类?

我正在使用EclEmma(在Eclipse内部)来扫描我的JUnit代码覆盖率。 这工作正常 – 但是,我不希望EclEmma扫描我的src/view文件夹,因为它包含我认为不值得测试的Swing代码。 当EclEmma运行时,有没有办法忽略这个文件夹,以便它:a)运行得更快,b)不会扭曲覆盖百分比? 编辑: 我的项目结构是: src/view src/model src/controller 我已尝试使用“首选项”页面中的“路径条目”部分(可能还有其他): “src/view” “src/view/*” “view” “view/*” src/view 这些是使用“首选项”页面中的“排除”部分: * *View* *View*.class src/view/*View* src/view/*View*.class 他们都给我留下了与分析我整个src文件夹相同的结果。

Java中的代码覆盖与EclEmma不扫描期望exception方法

我正在尝试使用Eclipse和EclEmma在java中获取代码覆盖率。 我的测试是使用JUnit 4,我有一些看起来像这样的测试: @Test(expected = IllegalArgumentException.class) public void createTime_withInvalidMinuteUnder0_throws(){ //Arrange … //Act Something triggering IllegalArgumentException Here } EclEmma说测试失败了,因为抛出了IllegalArgumentException。 因此它会丢弃我的代码覆盖率指标,即使它应该抛出一些东西。 有没有选项让它看到JUnit预期的exception标记? 编辑:我发现如果你把测试添加到测试声明中,它就可以了!

如何从EclEmma中的覆盖率计算中排除类,而不实际将它们从覆盖范围本身中排除

我正在使用EclEmma来测试我的场景测试的覆盖范围,并在我的项目中使用案例测试。 我有一个Base包,其中包含最常用的类和用例测试。 报道如下: 我想要的是从覆盖率计算中排除用例测试(例如BugReportTest)。 但我确实想要考虑其中的测试。 我知道如何从覆盖范围中排除整个类,但如果我这样做,我的覆盖率会下降,因为检查我的代码的哪些行被测试的实际测试被遗忘了。 由于隐私原因,这些用例测试确实需要保留在Base包中。

如何在eclipse中使用EclEmma插件排除类和包

我有四个项目,我想在某些项目中跳过某些类和包的代码覆盖,我在eclipse中使用EclEmma插件。 如果我提供了一些类文件,我在“排除”部分中检查了“首选项” – >“代码覆盖率”,但仍未将其排除在代码覆盖率报告中。 任何帮助将不胜感激。

完全覆盖的代码的EclEmma覆盖率是否低于100%?

我刚写了一些简单的示例代码,以确保我正确安装了EclEmma。 我没有得到100%的报道,我不明白为什么。 突出显示它与类名有关。 这是我的代码,以及相应的JUnit测试,EclEmma强调它的方式: 覆盖结果显示Arithmetic中的三个指令没有被击中,即使两个实际方法似乎都被完全覆盖: 我已经阅读了关于基本块覆盖的EclEmma文档 ,但我仍然感到困惑。 我不确定哪些基本块被遗漏了。 起初,我认为EclEmma可能只是忽略了类的字节码,但ArithmeticTest似乎处理得很好。 我有两个密切相关的问题: 这是否表示我安装/配置EclEmma的方式有问题? 完全覆盖的代码具有高但不是100%的EMMA覆盖率是正常/可接受的,如果是这样,它是如何工作的?

开关的eclemma分支覆盖:错过了7个

我有这个交换机系统,我正在使用eclemma来测试分支机构的覆盖范围。 我们需要至少有80%的分支机构覆盖所有内容,所以我尽可能地尝试测试。 但是,eclemma告诉我这个交换机系统在分支覆盖范围方面没有经过全面测试。 pos = p.getCurrentPosition().substring(0, 1); switch (pos) { case “G”: goalkeepers++; break; case “D”: defense++; break; case “M”: midfield++; break; case “F”: offense++; break; case “S”: substitutes++; break; case “R”: reserves++; break; } 我使用简单的JUnit测试来解决这些问题。 仍然是eclemma将此标记为黄色并且说“错过了19个分支中的7个”。 我想说只有7种方法可以通过这个开关系统(6个个案+所有未定义)。 我尝试在堆栈溢出时搜索类似的问题。 他们中的一些人使用if / else进行完全覆盖的解决方案。 我不确定这是否是获得此保险的唯一方法。 任何人都可以解释所有这19个分支来自哪里以及我如何测试这些剩余的7个以获得100%的分支覆盖率?