由于日期时间格式,所有Junit测试用例都失败

时间:2013-08-15 06:25:47

标签: java junit

在我的机器中,如果日期格式是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>

2 个答案:

答案 0 :(得分:0)

您已经注意到了您的代码,但似乎问题是您可能在代码中使用java.util.Calendar,这是一个与时区相关的API,可能会在不同时区运行的不同机器上生成不同的结果。如果您可以选择更改,则应考虑使用java.util.Date,因为它与时区无关

答案 1 :(得分:0)

听起来你正在比较toString(),这是因地区的因素。

尝试比较原始日期:

assertEquals(expectedDate, myDate);

或者可能是纪元时代:

assertEquals(expectedDate.getTime(), myDate.getTime());