我正在阅读 Spring Boot Test 使用指南,有一段让我感到困惑。
“随着我们的配置文件变得越来越丰富,在我们的集成测试中时不时地交换是很诱人的。有一些方便的工具可以做到这一点,例如@ActiveProfiles。然而,每次我们使用新的配置文件进行测试时,都会创建一个新的 ApplicationContext。” https://www.baeldung.com/spring-tests
因此,它假设如果所有测试都在同一配置文件下运行,则只会创建一个 ApplicationContext — 但这怎么可能呢?我认为无论如何,所有对象都会为每个测试套件重新创建。我错过了什么吗?
官方引用资料说它已被缓存。
但是它如何跨多个测试套件加载到 JUnit 运行器或 Spock one 中呢?
最佳答案
我的理解中缺少的是,所有测试套件都作为单个程序的一部分运行,因此很容易缓存所有测试套件所需的任何对象,包括 Spring 上下文。
关于spring - Spring Boot Test 如何保持多个测试套件的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58912484/