junit - 如何忽略 Java 核心断言的覆盖范围,Eclipse Eclemma

标签 junit jacoco assertion eclemma

我有一个关于 Eclemma 插件配置的问题:
在生产代码中,我有很多 java 核心断言,例如:

assert arr.size() == 2 : "message";

当我在单元测试中运行 Eclemma 时,由于断言上有黄色标记,它显示低覆盖率。
放置断言的想法不是有可能以断言的否定情况结束(它不应该发生!),它们只是代码质量 guard ,仅此而已。
但另一方面,Eclemma 认为这些否定案例并未涵盖该语句的分支(这是 marazmatic :)),因此将它们标记为黄色。

所以,问题是:
如何配置 Eclemma 以忽略覆盖率报告中的“断言”代码行?

最佳答案

EclEmma - 是基于 Java 代码覆盖库的 Eclipse 插件,名为 JaCoCo . JaCoCo 执行字节码分析,不幸的是还没有过滤 bytecode that compiler generates for assert .

关于junit - 如何忽略 Java 核心断言的覆盖范围,Eclipse Eclemma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42200935/

相关文章:

android - JUnit 版本 3.8 或更高版本预计在 android studio 4.1 上

Mockito 在 junit 中的事件

java - 使用 createQuery()、参数和executeUpdate() 模拟 Hibernate 实体管理器

java - 使用 Jacoco 的离线工具进行多模块 Maven 项目,使用 Surefire 覆盖率

maven - 如何为 Maven 指定 jacoco 插件的输出格式?

Python NLTK Ngrams 错误

c++ - 字符串下标超出范围

java - 避免 Maven 提示没有任何 @Test 的模拟对象

java - Assertions.assertThrows 返回 void,而它必须返回 Throwable | J单元5

java - Jacoco 如何正确排除包