以下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