java - 如何获取JUnit中src/test/resources目录的路径?

标签 java unit-testing junit resources

我知道我可以从 src/test/resources 加载文件:

getClass().getResource("somefile").getFile()

但是我怎样才能获得 src/test/resources 目录的完整路径,即我不想加载文件,我只想知道该目录的路径?

最佳答案

您不需要搞乱类加载器。事实上,这是一个坏习惯,因为当类加载器资源位于 jar 存档中时,它们不是 java.io.File 对象。

Maven 在运行测试之前自动设置当前工作目录,因此您可以使用:

    File resourcesDirectory = new File("src/test/resources");

resourcesDirectory.getAbsolutePath() 将返回正确的值(如果这是您真正需要的值)。

如果您希望测试通过文件系统访问数据,我建议创建一个 src/test/data 目录。这可以清楚地表明您在做什么。

关于java - 如何获取JUnit中src/test/resources目录的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56794092/

相关文章:

java - java编程语言的局限性(缺点)?

JRuby 中的 Java 反射 : Determining class of java. util.regex.Pattern

c++ - 如何使用 Eclipse 处理 Boost.Test 输出

javascript - 我如何强制 Karma 在每次测试之间重新启动浏览器?

java - RestTemplate 模拟抛出 NullPointerException

java - JTestcase 使用 JUnit 处理 xml 文件中的数据?

java - 如何使用 simple-spring-memcache 缓存集合或数组参数

java - 在 Chrome 中运行 IntelliJ JSP 代码而不是显示源代码

java - ArchUnit 确保注释存在

java - 在 junit 测试中模拟用户控制台输入