Java 与Spring Boot的集成测试

Java 与Spring Boot的集成测试,java,spring,spring-boot,spring-boot-test,Java,Spring,Spring Boot,Spring Boot Test,出于好奇。。。 我是Spring Boot新手,我正在做一些集成测试,为测试类使用较新的@SpringBootTest注释 在常规代码(非测试代码)中,应用程序有一个自定义初始值设定项,允许它加载外部YAML文件 我想在测试中使用它,所以我有一个覆盖初始值设定项的@ContextConfiguration注释,很可能是因为我添加了这个注释,它弄乱了@SpringBootTest正在做的任何巫毒,因此,我需要添加classes参数,为其提供主SpringApplication,以便在测试期间应用程

出于好奇。。。 我是Spring Boot新手,我正在做一些集成测试,为测试类使用较新的
@SpringBootTest
注释

在常规代码(非测试代码)中,应用程序有一个自定义初始值设定项,允许它加载外部YAML文件

我想在测试中使用它,所以我有一个覆盖初始值设定项的
@ContextConfiguration
注释,很可能是因为我添加了这个注释,它弄乱了
@SpringBootTest
正在做的任何巫毒,因此,我需要添加classes参数,为其提供主
SpringApplication
,以便在测试期间应用程序上下文可用,并且可以找到
Autowired
bean

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = ExamProcessorApplication.class, initializers = YamlFileApplicationContextInitializer.class)
@SpringBootTest
@Transactional
public class AssessmentRepositoryImplIT {
    ...
}
我的问题是-是否在
@ContextConfiguration
中提供
ExamProcessorApplication.class
(主SpringBootApplication)与默认行为
@SpringBootTest
在其自动发现过程中所做的操作大致相同

我和一位同事讨论了这个问题,他们认为我的方法实际上是实例化主应用程序对象,但
@springbootest
不是。只是想了解引擎盖下发生了什么