在我的机器中,如果日期格式是2013-12-21之外的任何内容,则只有所有Junit测试用例都会失败。 例如,如果日期是 2007-03-30 + 01:00 那么它会给我这个,预期:< 2007-03- [30 00]:00:00.0>但是:< 2007-03- [29 23]:00:00.0>
但是在不同的机器上它运行良好,任何身体都可以帮助我,我的操作系统是Linux。
输入日期:2007-03-30 + 01:00
验证日期:2007-03-30 00:00:00.0
消息:预期:< 2007-03- [30 00]:00:00.0>但是:< 2007-03- [29 23]:00:00.0>
答案 0 :(得分:0)
您已经注意到了您的代码,但似乎问题是您可能在代码中使用java.util.Calendar
,这是一个与时区相关的API,可能会在不同时区运行的不同机器上生成不同的结果。如果您可以选择更改,则应考虑使用java.util.Date
,因为它与时区无关
答案 1 :(得分:0)
听起来你正在比较toString()
,这是因地区的因素。
尝试比较原始日期:
assertEquals(expectedDate, myDate);
或者可能是纪元时代:
assertEquals(expectedDate.getTime(), myDate.getTime());