为了账号安全,请及时绑定邮箱和手机立即绑定

对 assertEquals 的不明确引用

对 assertEquals 的不明确引用

江户川乱折腾 2021-10-28 14:07:14
days = DayHelper.getInstance().getDays();Assert.assertNotNull(days);Assert.assertEquals(5, days.size());final Day day = days.get(0);Assert.assertNotNull(day);Assert.assertEquals("01/10/2018", day.getId());Assert.assertEquals("Mon", day.getDay());Assert.assertEquals(1450, day.getQuota()); //Red underlinedAssert.assertEquals(41, day.getWeekno());  //Red underlinedAssert.assertEquals("Inserted duing DayHelperTest", day.getNote());在“最后一天”块中,三个断言编译没有问题......String预期和实际String来自数据库红色下划线的两个期望Integer并获得Integer.但是,我无法摆脱下面的错误!!!错误:(56, 19) java:对 assertEquals 的引用是不明确的 org.junit.Assert 中的方法 assertEquals(java.lang.Object,java.lang.Object) 和 org.junit.Assert 中的方法 assertEquals(long,long)比赛有人可以帮忙吗。
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

当我遇到这样的错误时assertEquals,这是因为我试图断言Long从方法返回的对象等于long原始值。

要么两个参数都应该是原始long

assertEquals(1450L, (long) day.getQuota());

(这可能会导致NullPointerExceptionifgetQuota()返回 null,但无论如何您的测试都会失败)

或者两个参数都应该是对象

assertEquals(Long.valueOf(1450), day.getQuota());


查看完整回答
反对 回复 2021-10-28
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

尝试这个:


Assert.assertEquals(1450L, day.getQuota());

Assert.assertEquals(41L, day.getWeekno());

注意到L前面的数字了吗?这就是我们指定在long值之间进行比较的方式。


查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 447 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信