我在單元測試中讀取文本文件,並在資源文件夾中放置了一些輸入文本文件。以下是目錄結構。在JUnit測試中讀取資源文件
- SRC - > COM - > AU - >的myapp - >的util - > MyFileReader
- 測試 - > COM - > AU - >的myapp - >的util - > MyFileReaderTest
- 測試 - >玉米 - >非盟 - > MYAPP - >資源 - > input.txt中
注意,src和測試都在同一層次。
public class MyFileReaderTest
{
ClassLoader classLoader = getClass().getClassLoader();
@Test
public void testReadInputFile() throws Exception
{
String file = classLoader.getResource("test/com/au/myapp/resources/input.txt").getFile();
List<String> result = InputFileReader.getInstance().readFile(file);
assertEquals("Size of the list should be 2", 2, result.size());
}
}
Classloader.getResource()
返回null。非常感謝您的協助。
請看看它,如果你可以找到相對路徑使用.class http://stackoverflow.com/questions/6608795/what-is-the-difference-between-class-getresource-and-classloader-getresource –
如果'資源「文件夾位於類路徑中,那麼您可以使用Class類的'getResourceAsStream()'方法。 –