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

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


(如果NullPointerException返回null,则可能会有getQuota()的风险,但是您的测试仍然会失败)

或两个参数都应该是对象

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

关于java - 对assertEquals的模糊引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52662508/

10-10 17:16