java - 等于实现测试覆盖率junit java
问题描述
我在 junit 中测试了这个等于实现中的第一对 if 检查,但我不知道如何通过第二个 if 检查到最终返回检查。有人可以帮我解决这个问题:) 我将发布我的两个断言,让我通过第一对 if 检查。(Laila 是我的狗,代码中是 Pet 对象 :))。
-- 测试代码:
@Override
public boolean equals(java.lang.Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Pet pet = (Pet) o;
return Objects.equals(this.id, pet.id) &&
Objects.equals(this.category, pet.category) &&
Objects.equals(this.name, pet.name) &&
Objects.equals(this.photoUrls, pet.photoUrls) &&
Objects.equals(this.tags, pet.tags) &&
Objects.equals(this.status, pet.status);
}
这些是我的断言,可以让我通过前两个 if 检查:
assertTrue(laila.equals(laila));
assertFalse(laila.equals(null));
解决方案
您需要与另一个Pet
不是相同引用的对象进行比较或null
.
assertFalse(laila.equals(new Pet(/* instantiate different pet */)));
推荐阅读
- c - 如何链接库以从 C 或 C++ 调用 Python
- c# - 如何在自定义渲染器中获取按钮图像的图像宽度?
- python - 关键字的 Python 搜索段落
- c# - 有没有办法将 ac# 类分配给某种可以作为通用 T 传递的持有对象?
- r - 从世界银行提取 R 时缓存列表中的错误
- ruby - 如何覆盖“下载多个文件”弹出窗口
- php - codeigniter 中的多个 where 条件不起作用
- sql - 如何在无需重建表的情况下向事实表添加新维度?
- c# - 如何从元组数组中获取最大第二个元素的元组?(C#)
- sql-server - SSMS - 执行计划操作员 - Est/Act 行显示