无法通过测试用例访问src/main/resources中的文件

tok*_*khi 11 java junit unit-testing

我有一个file.datsrc/main/resources.

当我尝试通过jar文件测试加载此文件的类时,测试失败,因为它无法在path(I/O Exception)中找到该文件.我通过测试获得的路径是:

/home/usr/workspace/project/target/test-classes/file.dat

但文件不存在于target/test-classes任何想法?

Jon*_*lin 19

从文件src/main/resources将可在主程序运行时类路径,而无论是从文件src/main/resources,并src/test/resources会在试运行期间可在classpath.

检索驻留在类路径上的文件的一种方法是:

Object content = Thread.currentThread().getContextClassLoader().getResource("file.dat").getContent();
Run Code Online (Sandbox Code Playgroud)

..其中的类型content取决于文件内容.您还可以将文件作为InputStream获取:

InputStream contentStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("file.dat");
Run Code Online (Sandbox Code Playgroud)


Geo*_*mov 5

如果文件在

SRC /主/资源/ FILE.DAT

您可以获取该文件的URL:

.的getClass()的getResource( "/ FILE.DAT");