[英]Ambiguous references to assertEquals
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 underlined
Assert.assertEquals(41, day.getWeekno()); //Red underlined
Assert.assertEquals("Inserted duing DayHelperTest", day.getNote());
在“最后一天”块中,三个Asserts毫无问题地进行编译...预期的String
和实际的String
来自数据库
带红色下划线的两个期望Integer
并得到Integer
。
但是,我无法摆脱下面的错误!!!
错误:(56、19)Java:引用assertEquals模棱两可org.junit.Assert中的方法assertEquals(java.lang.Object,java.lang.Object)和org.junit.Assert中的方法assertEquals(long,long)比赛
请有人帮忙。
谢谢。
当我用assertEquals
遇到这样的错误时,这是因为我试图断言从方法返回的Long
对象等于long
基本值。
这两个参数都应为原始long
s
assertEquals(1450L, (long) day.getQuota());
(如果getQuota()
返回null,但可能会导致NullPointerException
风险,但是您的测试仍然会失败)
或两个参数都应该是对象
assertEquals(Long.valueOf(1450), day.getQuota());
尝试这个:
Assert.assertEquals(1450L, day.getQuota());
Assert.assertEquals(41L, day.getWeekno());
注意数字前面的L
吗? 这就是我们指定在long
值之间进行比较的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.