Maven测试无法找到资源。

3

我正在尝试进行maven测试。

我已经设置了资源目录。

<testResources>
        <testResource>
            <directory>src/test/resources</directory>
        </testResource>
    </testResources>

我在这个目录下放了一个名为inbound的文件夹。 在我的junit中,我试图通过new File("Inbound")来打开它,但总是找不到它。 我的项目根目录下有一个名为inbound的副本。junit代码找不到它。 能否请有经验的人给我一些建议? 谢谢。

2个回答

5

如果你使用 src/test/resources,那么你不需要在你的 pom.xml 文件中指定它,因为这是测试默认资源路径。

关于你的问题,你不应该使用 new File("myfile");,而是应该使用MyTestClass.class.getResourceAsStream("/myfile");


谢谢您的回复。但是我需要知道正确的路径。我想要将其以文件夹的形式打开,而不仅仅是一个文件。 - lucky_start_izumi
3
Java中的File类只是一个路径名,它既可以引用文件也可以引用目录。所引用的“文件”甚至不必存在。如果aFile = new File("Inbound"),则aFile.isDirectory()将被评估为true。请参阅Javadocs文档中关于File类的信息:http://docs.oracle.com/javase/6/docs/api/java/io/File.html。 - Sri Sankaran

0

1)将其添加到您的src/test/resources目录下

2)在加载时使用 classpath:YOUR_FILE

PS: 您不需要在pom.xml中指定该代码,这些文件夹是maven默认设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接