使用Spring Boot进行集成测试

时间:2017-02-22 06:31:57

标签: java spring spring-boot spring-boot-test

出于好奇...... 我是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 {
    ...
}

我的问题是 - ExamProcessorApplication.class(主要的SpringBootApplication)在@ContextConfiguration中提供相同的 - 或多或少 - 作为默认行为@SpringBootTest在其自动期间的行为-发现?

一位同事和我正在讨论这个问题,我的想法是我的方式实际上是实例化主应用程序对象,但@SpringBootTest不是。只是想了解幕后发生了什么。

0 个答案:

没有答案