以下Java测试在美国托管构建服务器上传递。它也传递给非美国的服务器,例如在德国。它在爱尔兰运行的本地服务器上失败。以下代码说明失败的测试。日期格式问题
org.junit.ComparisonFailure: expected:<[4/6/09 11:30 AM]> but was:<[06/04/09 11:30]>
有没有我可以提供的系统设置让这些测试在本地通过?
public void testFormattedDate() {
// Set the default time zone in case this unit test is executed in a different country
TimeZone.setDefault(TimeZone.getTimeZone(DateUtil.DEFAULT_TIMEZONE));
final Date utilDate = new Date();
utilDate.setDate(6);
utilDate.setHours(11);
utilDate.setMinutes(30);
utilDate.setMonth(3);
utilDate.setSeconds(45);
utilDate.setYear(109);
SimpleDateFormat dateFormatter = new SimpleDateFormat();
final String formattedOutput = dateFormatter.format(utilDate);
Assert.assertEquals("4/6/09 11:30 AM", formattedOutput);
}
呃......你在测试什么?没有你的代码在这里测试。此测试仅用于验证Java类的工作方式吗? – 2012-07-27 08:25:05
Assert.assertEquals(“2009年4月6日上午11:30”,formattedOutput); ..... – Damo 2012-07-27 09:04:32
为了便于阅读,测试中的代码只是内联的。这些行代表测试中的代码:SimpleDateFormat dateFormatter = new SimpleDateFormat(); final String formattedOutput = dateFormatter.format(utilDate); – Damo 2012-07-27 09:05:35