【发布时间】:2015-07-07 01:49:54
【问题描述】:
我正在从日历日期中减去500 hours,我的方法是以小时为单位。
为什么下面的断言失败了?
测试方法:
public long dataFetchTotalTime(long time) {
long hours = 0;
Calendar ackCal = Calendar.getInstance();
long diff = ackCal.getTime().getTime() - time;
hours = TimeUnit.HOURS.convert(diff, TimeUnit.MILLISECONDS);
return hours;
}
测试用例:
@Test
public void checkFetchTimeDiff()
{
long expected = 500;
Client client = new Client();
Calendar ackCal = Calendar.getInstance();
ackCal.set(Calendar.HOUR_OF_DAY, -500);
long actual = client.dataFetchTotalTime(ackCal.getTime().getTime());
Assert.assertEquals(expected, actual);
}
错误追踪:
java.lang.AssertionError: expected:<500> but was:<514>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
【问题讨论】:
标签: java date calendar assertion