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

2023-11-21

我只是编写了一些简单的示例代码来确保我正确安装了 EclEmma。我没有获得 100% 的覆盖率,我不明白为什么。突出显示意味着它与类名有关。这是我的代码,以及相应的 JUnit 测试,EclEmma 突出显示了它:

Arithmetic class

Tests for Arithmetic class

覆盖率结果显示,三个指令Arithmetic没有受到打击,尽管两种实际方法似乎都被完全覆盖:

Coverage information

我读了有关基本块覆盖的 EclEmma 文档,但我还是很困惑。我不确定错过了哪些基本块。起初,我认为 EclEmma 可能只是忽略了类的字节码,但是ArithmeticTest看来处理得刚刚好。

我有两个密切相关的问题:

  1. 这是否表明我安装/配置 EclEmma 的方式有问题?
  2. 完全覆盖的代码具有高但不完全 100% 的 EMMA 覆盖率评级是否正常/可接受?如果是,那么它是如何工作的?

您的代码暗示了一个默认构造函数,Emma 无法正确标记它,因为它没有文本块。

由于它没有在文本块中正确标记,Emma 无法将覆盖日志记录与文本文件关联起来,并且看起来有些代码没有被覆盖;因为,您运行了一些字节码,但无法注册行日志记录。稍后,当报告元素读取行日志记录时,他们找不到默认构造函数的行号,并且它会在唯一有意义的地方(类声明行)突出显示错误。

默认构造函数看起来像

public Arithmetic() {
  super();
}

其中 super 是隐含的第一条指令,它将构造Object。虽然您可以省略它的存在,但编译器会为您添加它。这就是你得到“3 行”而不是一行的地方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

完全覆盖的代码的 EclEmma 覆盖率是否可以低于 100%? 的相关文章

随机推荐

  • 使用 imaplib 删除 Gmail 中的电子邮件时出现问题

    我尝试从收件箱文件夹中删除邮件 一切正常 但是当我切换到 所有邮件 文件夹时 删除不起作用 expunge 方法返回 OK None 并且消息未被删除 gt gt gt import imaplib gt gt gt server imap
  • MySQL - 如何在邮政编码前面加上“0”?

    在我的 MySQL InnoDB 数据库中 我有想要清理的脏邮政编码数据 干净的邮政编码数据是指我拥有邮政编码的所有 5 位数字 例如 90210 但由于某种原因 我在数据库中注意到 对于以 0 开头的邮政编码 0 已被删除 So 纽约州霍
  • 如何从谷歌日历获取活动详细信息

    当日历中创建新事件时 我成功地将谷歌日历的推送通知发送到我的系统中 推送通知的 POST 正文中没有数据 POST 标头如下 Host gt xxxxxx xxxx com Content Type gt application json
  • 实现 ICloneable 时是否应该提供深度克隆?

    我不清楚MSDN 文档在实现 ICloneable 时我是否应该提供深克隆或浅克隆 首选方案是什么 简短回答 是的 长答案 不要使用 ICloneable 这是因为 Clone 没有定义为浅克隆或深克隆 您应该实现自己的 IClone 接口
  • 两个指针指向同一个地址[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 当两个指针指向同一个地址时会发生什么 这会导致安全问题吗 事实本身没问题 但是如果你调用
  • 尝试在空对象引用上调用虚拟方法“void android.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)”

    我正在尝试使用 Android 材料设计来实现滑动选项卡布局 但它给了我NullPointerException 到目前为止 这是我的代码 MainActivity java public class MainActivity extend
  • 在 Matlab 中强制用户输入整数的最佳方法

    我正在 Matlab 中编写一个简单的程序 并且想知道确保用户输入的值是正确整数的最佳方法 我目前正在使用这个 while num dice lt 1 isempty num dice num dice input Enter the nu
  • 如何使用 Keras TensorBoard 回调进行网格搜索

    I m using the Keras TensorBoard callback I would like to run a grid search and visualize the results of each single mode
  • Facebook 连接、电子邮件地址?

    当您添加 facebook connect 以允许 facebook 用户登录您的网站时 您可以撤销用户名和电子邮件地址吗 是的 您需要首先提示他们提供数据权限 电子邮件 Facebook 也在很快改变你访问私人数据的方式 天哪 他们每天都
  • 如何获取 Spark 数据框以将其解释计划打印为字符串

    我有一个系统 其中组件A将sql传递给组件B 然后B通过apache Spark运行sql 并返回结果 出于调试目的 我放置了第二个通信通道 A 可以将 sql 传递给 B 并请求和解释计划 B 中的代码如下所示 def handleExp
  • 使用Python识别监听端口

    在从 bash 翻译一些脚本时 我遇到了许多使用 netstat an 来查找我们的服务之一是否正在侦听的情况 虽然我知道我可以只使用 subprocess call 或其他甚至 popen 我宁愿使用 pythonic 解决方案 所以我没
  • 对于登录 GET 还是 POST? [复制]

    这个问题在这里已经有答案了 我想知道我使用哪种 HTTP 方法来开发登录 API GET 还是 POST 我已经使用 post 方法在 PHP 中开发了登录 API 但是我的老板说 为什么你使用 POST 方法而不是 GET 方法 Alwa
  • 跨线程操作无效:从创建它的线程以外的线程访问控制“label1”[重复]

    这个问题在这里已经有答案了 可能的重复 为什么我会收到此错误 跨线程操作无效 控制 lbFolders 从创建它的线程以外的线程访问 我是 winforms 的新手 在我的代码中 我正在使用 for 循环更新进度条 现在我需要更新循环计数表
  • 在方法(Java 中)中改变对象参数是一种不好的做法吗?

    我有一个关于改变方法中的方法参数 它们是对象 的问题 我多次阅读和听到 在作为参数传入的方法中改变对象是一种不好的做法 例如 public void modifyList List list list add new Object 相反 应
  • jQuery 单击文档事件但忽略 div

    我正在使用 jQuery 制作在线幻灯片 我使用 document click 事件来检测用户何时单击页面 以了解何时显示幻灯片中的下一个项目符号点或移至下一页 我遇到的问题是我的工作让我在页面底部插入一个评论框 当有人单击评论框或保存评论
  • 使用 openssl 链接编译 Qt5 时出错

    我的头很快就会爆炸 我想用 openssl linked 编译 qt 以便 openssl 库链接到 qt 库中 我已经尝试了很多选项 编译时的输出始终是 ssl qsslcertificate openssl cpp In functio
  • Thymeleaf th:href 参数中的条件

    所以我的 Thymeleaf 模板中有一个元素 其中有一个如下所示的链接 th href search searchType parameter1 parameter1 parameter10 parameter10 根据目前的实施情况pa
  • 为什么在 JavaScript 中使用 {} != ( {} )?

    众所周知 是定义对象的更短方法 例如 用于数组 但现在我想知道为什么 计算结果为未定义 评估为 正确 对象 为什么 JavaScript 会有这样的行为 例如1等于 1 所以为什么 不等于 这是一个语法错误 语法错误 意外的标记 就是这样暧
  • 如何从目录中获取子文件夹中的文件

    您好 我必须从目录中的指定路径获取文件 这是我写的方法 但我没有从子文件夹中获取文件 Private void getfiles Directoryinfo info new Directoryinfo configurationmanag
  • 完全覆盖的代码的 EclEmma 覆盖率是否可以低于 100%?

    我只是编写了一些简单的示例代码来确保我正确安装了 EclEmma 我没有获得 100 的覆盖率 我不明白为什么 突出显示意味着它与类名有关 这是我的代码 以及相应的 JUnit 测试 EclEmma 突出显示了它 覆盖率结果显示 三个指令A