Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Springboot-application-integration.properties在src/main/resources下工作,但不在src/test/resources下工作_Java_Spring Boot_Spring Boot Test_Application.properties - Fatal编程技术网

Java Springboot-application-integration.properties在src/main/resources下工作,但不在src/test/resources下工作

Java Springboot-application-integration.properties在src/main/resources下工作,但不在src/test/resources下工作,java,spring-boot,spring-boot-test,application.properties,Java,Spring Boot,Spring Boot Test,Application.properties,关于应用于Springboot的Spring配置文件(集成)的小问题 目前,在src/main/resources下,我有几个application.properties文件。 例如: 应用程序属性 应用程序本地属性 应用程序-生产属性 应用程序集成.prorperties 在src/test/resources下,没有属性文件 当我运行maven时,maven将触发一些单元和集成测试。单元测试不需要任何特定的概要文件(属性是在单元测试中设置的,无论如何,这不是问题) 集成测试需要appli

关于应用于Springboot的Spring配置文件(集成)的小问题

目前,在src/main/resources下,我有几个application.properties文件。 例如:

  • 应用程序属性
  • 应用程序本地属性
  • 应用程序-生产属性
  • 应用程序集成.prorperties
在src/test/resources下,没有属性文件

当我运行maven时,maven将触发一些单元和集成测试。单元测试不需要任何特定的概要文件(属性是在单元测试中设置的,无论如何,这不是问题)

集成测试需要application-integration.properties。 目前,文件位于src/main/resources下,一切正常

我只是尝试将文件移动到src/test/resources,集成测试找不到任何属性,就好像文件消失了一样

请告诉Springboot使用src/test/resrouces下的application-integration.properties运行集成测试的正确方法是什么


谢谢

您可以使用以下配置进行集成测试

@TestPropertySource(locations = "classpath:application-integration.properties")
@ActiveProfiles("integration")

Spring Boot对src/test/resources或src/main/resources一无所知。它使用类路径加载文件。构建系统或IDE的任务是确保src/main/resources或src/test/resources中的文件位于类路径上,并且在这种情况下似乎不会发生这种情况。可能的原因取决于您使用的构建系统或IDE,以及您运行测试的方式。我目前正在与Maven合作,这是Jenkins工作的一部分,不涉及IDE。有没有一种方法可以简单地告诉“嘿,当您运行集成测试时,请查看/src/test/resources下的application-integration.properties”?您的问题不是很清楚。我建议您提供一个代码片段,使您的问题更加精确。无论如何,如果您只想在组件的属性中注入值,那么在这种测试中不需要spring上下文,让我们假设您有一个服务类@service public class MyService{@Value(${my.super.property}”)String属性;public String doSomething(){return property;}}您想编写测试(比如说单元测试),并想在属性字段中注入一个值。您可以使用Hello soung,我相信我的问题已经很清楚了,Sri已经提供了正确的答案