当前位置: 首页 > 知识库问答 >
问题:

Spring Boot:如何在单元测试中从类路径读取资源

赵开诚
2023-03-14
@Value("classpath:state.json")
Resource stateFile;
@RunWith(SpringRunner.class)
@SpringBootTest

共有1个答案

应涵容
2023-03-14

我刚碰到这个。我在用Maven。我查看了我的target/test-classes文件夹,我的资源文件不在其中(尽管它在我的src/test/resources文件夹中)。

我运行mvn clean install,然后重新检查我的target/test-classes文件夹,资源文件现在就在那里。之后,我的测试能够找到文件,测试工作了。

因此,在执行mvn clean之前,资源似乎不会被复制。JUnit在maven构建的类路径中查找,直到文件真正进入target/test-classes文件夹,JUnit才能够找到它。

 类似资料:
  • 我有一个文件在 /src/main/java有以下代码行: 相应的资源文件位于/src/main/resources。。。但我们正在考虑取消这项测试。json来自classpath(src/main/resources)文件夹,我们将再包含一个jar依赖项,该jar将包含此测试。json。。。我已经用jar依赖性进行了测试,它在类路径中运行良好。。但问题是我们有一些测试用例。。如果我们不包括jar

  • 我尝试过这些变体,但同样返回null quuarkus 0.13.3和0.14.0版本和Graal rc14、rc15、rc16版本

  • 问题内容: 我有一个单元测试,需要使用中的XML文件。将文件内容放入其中的最简单方法是什么? 问题答案: 最后,由于使用了Apache Commons,我找到了一个整洁的解决方案: 完美运作。文件已加载(我正在使用Maven)。 如果用替换为,将加载此资源: 您还可以使用Cactoos:

  • 问题内容: 我需要阅读Java包中包含的类。这些类在类路径中。我需要直接从Java程序执行此任务。你知道简单的方法吗? 问题答案: 如果你的类路径中包含Spring,则可以执行以下操作。 在包中找到所有用XmlRootElement注释的类:

  • 在产品代码中,我可以使用以下代码从和读取属性 然而,在单元测试中,相同的代码不起作用,变量始终为空。 我试图添加以下注释,但它不起作用。

  • 问题内容: 这是我想做的,我想知道是否有任何Spring类可以帮助实现。对于这个特定的问题,我不必使用spring,我只是将其与其他所有东西一起实现。 在我的DAO层中,我想外部化我的sql文件,也就是每个文件1个sql。我想读取并缓存sql语句,甚至可能作为spring bean单例。但是在我最初的挣扎中,我只是在类路径中加载一个sql文件时遇到问题… 春天有什么可以帮助您的吗?我已经阅读过文档