Java 对assertEquals的不明确引用
在“最后一天”块中,三个断言编译无问题<代码>字符串预期和实际的Java 对assertEquals的不明确引用,java,assert,Java,Assert,在“最后一天”块中,三个断言编译无问题字符串预期和实际的字符串来自数据库 红色下划线的两个字符期望整数,并获得一个整数 然而,我无法摆脱下面的错误 错误:(56,19)java:org.junit.Assert中的方法assertEquals(java.lang.Object,java.lang.Object)和org.junit.Assert中的方法assertEquals(long,long)都不明确 有人能帮忙吗 谢谢。试试这个: days = DayHelper.getInstance(
字符串
来自数据库
红色下划线的两个字符期望整数
,并获得一个整数
然而,我无法摆脱下面的错误
错误:(56,19)java:org.junit.Assert中的方法assertEquals(java.lang.Object,java.lang.Object)和org.junit.Assert中的方法assertEquals(long,long)都不明确
有人能帮忙吗
谢谢。试试这个:
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());
注意数字前面的
L
?这就是我们指定在long
值之间进行比较的方式。当我在assertEquals
中遇到这样的错误时,这是因为我试图断言从方法返回的long
对象等于long
原语值
两个参数中的任何一个都应该是基元long
s
Assert.assertEquals(1450L, day.getQuota());
Assert.assertEquals(41L, day.getWeekno());
(如果getQuota()
返回null,则有发生NullPointerException
的风险,但您的测试无论如何都会失败)
或者两个参数都应该是对象
assertEquals(1450L, (long) day.getQuota());
尝试
1450L
和41L
使其明确。这就成功了!!Assert.assertEquals(1450L,(长)天.getQuota());Assert.assertEquals(41L,(long)day.getWeekno());谢谢大家!!
assertEquals(Long.valueOf(1450), day.getQuota());