完全覆盖的代码的 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%? 的相关文章

  • 无法在类对象的 ArrayList 中存储值。 (代码已编辑)

    这基本上是一个 Java 代码转换器 它涉及一个 GUI 让用户输入类类型 名称和方法 为了存储值 我创建了一个类VirtualClass与ArrayList
  • 手动编辑 Jar 以更改包名称

    我有一个来自外部源的 jar 文件 jar 中的所有类都位于 com xyz 包中 我想将所有类移动到 com xyzold 包中 这是否像解压缩 jar 将 xzy 文件夹重命名为 xyzold 并重新压缩它一样简单 或者我还需要修改每个
  • Jackson - 反序列化嵌套 JSON

    我有一个 JSON 字符串 其格式如下 response execution status ready report cache hit true created on 2013 07 29 08 42 42 fact cache erro
  • 使用 Java 在 WebDriver 中按 Ctrl+F5 刷新浏览器

    我已经使用 java 刷新了 WebDriver 中的浏览器 代码如下 driver navigate refresh 如何使用 Java 在 WebDriver 中按 Ctrl F5 来做到这一点 我认为您可以使用 WebDriver 和
  • 如何比较 Struts 2 中 url 请求参数中的单个字符

    我正在读取具有单个字符的 url 参数 它将是Y or N 我必须写一个条件来检查它是否Y or N并做相应的事情 这是我写的 但似乎不起作用 总是转到其他地方 网址是
  • Emma 不生成coverage.ec

    我设置了艾玛 它曾经对我有用 然后我们更改了源代码 现在它没有生成coverage ec根本不 它确实生成coverage em 测试临近结束时 出现错误消息 exec INSTRUMENTATION CODE 0 echo Downloa
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • JSch中如何设置文件类型和文件传输模式?

    我使用 Apache Common NetFTPClient并设置了我的ftpClient在上传文件之前使用如下所示的方法 ftpClient setFileType FTP BINARY FILE TYPE ftpClient setFi
  • Hibernate HQL:将对值作为 IN 子句中的参数传递

    我面临一个问题 如何使用 IN 子句将查询中的成对值的参数传递给 HQL 例如 select id name from ABC where id reg date in x y 并且参数是不同的数据类型string id 和reg date
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 为什么我的代码会产生错误:该语句没有返回结果集[重复]

    这个问题在这里已经有答案了 我正在从 Microsoft SQL Server Studio 执行以下查询 该查询工作正常并显示结果 SELECT INTO temp table FROM md criteria join WHERE us
  • 使用 secp256r1 曲线和 SHA256 算法生成 ECDSA 签名 - BouncyCastle

    我正在尝试使用带有 secp256r1 曲线 P256 的 ECDSA 和用于消息哈希的 SHA256 算法生成签名 我也在使用 Bouncy Castle 库 下面的代码 public class MyTest param args pu
  • 如何初始化静态地图?

    你会如何初始化静态Map在Java中 方法一 静态初始化方法二 实例初始化 匿名子类 或者 还有其他方法吗 各自的优点和缺点是什么 这是说明这两种方法的示例 import java util HashMap import java util
  • 警告:无法更改每个人的权限:

    当运行 Java 快速入门示例时https developers google com drive web quickstart java hl hu https developers google com drive web quicks
  • 公共方法与公共 API

    在干净的代码书中 有一个观点是 公共 API 中的 Javadocs 同样 Effective java 一书也有这样的内容 项目 56 为所有公开的 API 元素编写文档注释 所以这就是我的问题 所有公共方法都被视为公共 API 吗 它们
  • 如何用表达式语言获取布尔属性?

    如果我有一堂这样的课 class Person private int age public int getAge return age public boolean isAdult return age gt 19 我可以得到age像这样
  • 摩尔斯电码 至 英语

    我现在的问题是让 摩尔斯电码转英语 正常工作 将英语转换为莫尔斯电码的第一部分工作正常 我知道以前已经有人问过这个问题 但我不知道我做错了什么 我知道我需要在某个地方进行拆分 但我只是不确定将其放在代码中的何处 现在 莫尔斯电码到英语的部分
  • Java:使用 Graph API 在线更新 Sharepoint 上的 docx 文件

    我在使用 Java 在线更新 Sharepoint 上的 docx 文件时遇到问题 首先 我检查了构建 PUT 请求的 URL 此处 并使用此请求 PUT drives drive id items item id content 我首先使

随机推荐

  • 使用 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