2012-09-19 101 views
1

我已經找到了我的項目包中的位置內的JUnit測試:JUnit的類路徑的InputStream

Java Resources > unittests > ActionTest.java 

我想在我的測試之一,將採取在位於另一個靜態文件使用一個InputStream我的項目包的一部分:

WebRoot > TestFiles > sampleFile.txt 

有沒有一種方法去傳遞文件的類路徑InputStream的不知何故?或者我需要將sampleFile.txt移到我的項目的其他地方嗎?

我試圖定義,像這樣的InputStream:

InputStream fileStream = getClass().getResourceAsStream("sampleValidPatientList.txt"); 

回答

1

這將工作,如果的WebRoot/TestFiles在classpath中。

我通常會創建一個/ test-resources文件夾並將測試數據放入其中。如果我將它添加到測試CLASSPATH中,我的測試總能找到它們。

+0

對不起,我仍然有點失落,如何做到這一點。如果我的JUnit測試位於'Project> Java Resources> unittests> ActionTest.java'那麼我應該將'sampleFile.txt'移動到'Project> Java Resources> unittests> sampleFile.txt'?它目前在'Project> WebRoot> TestFiles> sampleFile.txt'目前,我不確定如何配置Eclipse以使InputStream讀取到該路徑。 – raphnguyen

+0

添加測試類路徑。右鍵點擊文件夾,看看是否有選擇。或者,更好的是,使用更好的IDE - IntelliJ。我不明白爲什麼Eclipse如此受歡迎。 – duffymo