我只有這個mac,我想知道這個問題是否存在於其他操作系統或jdks。在第二行到最後一行驗證絕對路徑引用真實文件(並匹配第一個文件abs路徑)時,此測試失敗,但f2.exists調用返回false,因爲它不存在。OSX jdk 1.8.0_111上的user.dir屬性損壞?其他操作系統版本如何?
我很好奇在Windows和Linux,如果這也失敗了?
@Test
public void testUserDirProp() {
File f = new File("src/test/resources/logback-test.xml");
//assert absolute path is correct
Assert.assertEquals("/Library/Workflow/webpieces/core/core-util/src/test/resources/logback-test.xml", f.getAbsolutePath());
Assert.assertTrue(f.exists());
//NOW, change user.dir
System.setProperty("user.dir", "/Library/Workflow/webpieces/core/core-util/src");
//Now, f2 is relative to NEW user.dir property
File f2 = new File("test/resources/logback-test.xml");
//verify absolute path is still the full correct path for f2 and it is
Assert.assertEquals("/Library/Workflow/webpieces/core/core-util/src/test/resources/logback-test.xml", f2.getAbsolutePath());
//since absolute path was correct, it should exist
Assert.assertTrue(f2.exists());
}
哦,謝謝!男人,如果他們拋出異常,那麼當它被設置時,它肯定會很好,所以我們都知道這一點。看起來他們應該快速失敗,而不是讓人們浪費時間與奇怪的問題。好吧。 –