问题标签 [eclemma]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
217 浏览

junit - Junit 测试覆盖 ReadWriteLock

我试图在一段代码上使用 EclEmma 达到高覆盖率,但我遇到了以下问题:

我缺少这finally部分的报道,我应该使用 mockito 并模拟 ReadWriteLock 吗?还是不需要嘲笑?

0 投票
1 回答
1406 浏览

java - 使用 eclemma 的单个测试文件的代码覆盖率?

我正在使用http://www.eclemma.org/index.html上提供的 eclemma

当我打开测试文件时,右键单击 --> Coverage As --> Junit Test

它显示了整个项目的覆盖率,而不是覆盖率视图下的单个测试文件。有没有办法我可以覆盖单个测试文件而不是完整的项目?

0 投票
1 回答
2089 浏览

rest - 使用 TestNG 测试 REST API 时如何获取代码覆盖率报告?

我有一个与此处讨论的问题非常相似的问题: Integration Test of REST APIs with Code Coverage

我部署了一个向 Web 服务器公开 REST API 的 war 文件,并且我正在使用 TestNG 为 REST API 编写测试用例。我不是单元测试——我只是端到端/集成测试。目前,我正在我的机器上运行 eclipse 中的测试用例。

我的目标是获取有关 TestNG 测试用例的覆盖率报告。由于测试在我的机器上是本地的,并且 REST API 部署在另一台服务器上,所以当我在我的机器上运行测试用例时,EclEmma 没有提供任何有意义的数据。

有没有办法将 EclEmma 指向 Web 服务器而不是我的本地机器并获取代码覆盖率报告?

将测试包含在war文件中并从Web服务器运行测试会更好/可能吗?那应该让我得到有意义的代码覆盖率报告,对吧?

0 投票
1 回答
4401 浏览

java-8 - EclEmma、Java8 和 Lambda - 未涵盖 lambda 表达式

我在 Eclipse Luna 下有一个 Java 项目,带有 EclEmma 2.3.1.201405111647(最新),它使用 Jacoco 0.7.1,它支持 Java 8,如其更改日志中所述:

“2.3.1版(2014/05/11)

我现在有以下 toString:

我不会进行 Junit 测试,因为我知道它的覆盖率为 100%。我可以通过将 lamdba 表达式移动到appendToString方法中来证明这一点,并forEachfor-each for (V value : Iterable<V>)替换。

结果是,当我执行“覆盖作为 Junit 测试”时,以下内容:

  • BLOCK0 全是绿色
  • BLOCK1 全是绿色
  • BLOCK2 为绿色,直至forEach(unit -> {
  • BLOCK3 是白色的(好像它是被忽略的行)
  • BLOCK4 全是绿色的。

有人可以解释一下为什么 Jacoco 无法检测到 lambda 的覆盖率吗?

0 投票
1 回答
145 浏览

powermock - Eclemma 1.5.3 异常场景中的覆盖率报告

我们正在使用 eclemma-1.5.3 来获取我们的单元测试覆盖率报告。对于单元测试,我们使用了 powermock-easymock-1.5.5。我们的问题是当我们在测试类中对一些异常场景运行测试时,异常方法(我们在测试类中编写)显示为红色。由于这个原因,我们的总覆盖率下降。但是我们实际的测试方法异常场景是按预期运行的。

请提出一些建议来解决这个问题。

0 投票
1 回答
1367 浏览

java - 在私有方法中为 switch 语句编写测试用例

我在私有方法中有一个 switch case 语句。我认为我们不需要对私有方法进行单元测试。但是我的代码覆盖率工具(EclEmma)显示“错过了 4 个分支中的 1 个”。在 switch 语句上带有黄色菱形。所以我的问题是:我如何为这种特殊情况编写测试?

代码片段

0 投票
1 回答
5862 浏览

java - 如何使用 junit 和 Eclemma 增加测试覆盖率?

我有一个简单的课程:

我写了这个junit类:

我被要求编写一些测试并覆盖 100% 的代码覆盖率。但这究竟是什么意思?我怎样才能做到这一点?我跑过 Eclemma,我只有 46%。

0 投票
1 回答
5173 浏览

eclipse - 将 Jmockit 与 Eclemma 一起使用

我正在使用 Jmockit 在 Eclipse 中联合我的代码和 Eclemma 插件以进行代码覆盖。出于某种原因,我无法获得报道。使用 PowerMock 的其他项目,Eclemma 显示代码覆盖率很好。但是使用 Jmockit 似乎存在一些问题。

以下是例外情况:

0 投票
2 回答
9692 浏览

android-studio - Android Studio 中的代码覆盖率

我在 build.gradle 文件中添加了 testCoverageEnabled=true 以开始获取一些代码覆盖率报告。

运行我的测试,我可以看到我的构建输出文件夹中添加了一个代码覆盖文件夹。但是,当我看到它的内容时,只有一个 coverage.ec 文件......

为了获得最近的报告,我可以用这个文件做什么?或者我应该在 build.gradle 中添加什么以获得完整报告?

0 投票
2 回答
13910 浏览

java - 切换的 eclemma 分支覆盖率:19 个中的 7 个未命中

我有这个开关系统,我正在使用 eclemma 来测试分支覆盖率。我们需要对所有内容至少有 80% 的分支覆盖率,所以我正在尝试尽可能多地进行测试。但是,eclemma 告诉我这个交换机系统在分支覆盖方面没有经过全面测试。

我使用简单的 JUnit 测试来处理每种情况。仍然 eclemma 将此标记为黄色,并表示“19 个分支中有 7 个丢失”。我想说只有 7 种方法可以通过这个开关系统(6 个单独的案例 + 全部未定义)。

我尝试搜索有关堆栈溢出的类似问题。其中一些具有使用 if/else 进行全面覆盖的解决方案。我不确定这是否是获得此覆盖的唯一方法。

任何人都可以解释所有这 19 个分支的来源以及我如何测试剩余的 7 个分支以在此 switch 案例上获得 100% 的分支覆盖率?