gpt4 book ai didi

java - 如何让我的 JUnit 测试从 main 访问资源?

转载 作者:行者123 更新时间:2023-11-30 06:07:08 32 4
gpt4 key购买 nike

我正在使用以下调用来获取流,以便我可以找到我的一些资源的文件名。

Thread.currentThread().getContextClassLoader().getResourceAsStream(...)

当我正常运行我的代码时,它工作正常,如果我将我的资源复制到我的测试文件夹中,它也工作正常。

如何避免这种重复并使我的测试(通过 IDEA 运行时)使用来自 main 的资源?

最佳答案

src/test/resources 中的所有内容都由 maven-resources-plugin 复制进入目标/测试类。然后,您在 src/main/resources 中拥有的所有内容都会进入 target/classes。然后,maven-surefire-plugin configures类路径按此顺序:首先是 target/test-classes,然后是 target/classes

多亏了这一点,如果您的资源同时位于 src/main/resourcessrc/test/resources 中,其“测试”版本将加载到单元中测试。

如果它只存在于src/main/resources中,那么单元测试中就可以使用它,不需要任何进一步的操作。

如果它仅存在于 src/test/resources 中,您将只能在单元测试期间访问它。

关于java - 如何让我的 JUnit 测试从 main 访问资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268577/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com