spring - Spring Boot Test 如何保持多个测试套件的上下文?

标签 spring spring-boot

我正在阅读 Spring Boot Test 使用指南,有一段让我感到困惑。

“随着我们的配置文件变得越来越丰富,在我们的集成测试中时不时地交换是很诱人的。有一些方便的工具可以做到这一点,例如@ActiveProfiles。然而,每次我们使用新的配置文件进行测试时,都会创建一个新的 ApplicationContext。” https://www.baeldung.com/spring-tests

因此,它假设如果所有测试都在同一配置文件下运行,则只会创建一个 ApplicationContext — 但这怎么可能呢?我认为无论如何,所有对象都会为每个测试套件重新创建。我错过了什么吗?

官方引用资料说它已被缓存。

https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/testing.html#testing-ctx-management

但是它如何跨多个测试套件加载到 JUnit 运行器或 Spock one 中呢?

最佳答案

我的理解中缺少的是,所有测试套件都作为单个程序的一部分运行,因此很容易缓存所有测试套件所需的任何对象,包括 Spring 上下文。

关于spring - Spring Boot Test 如何保持多个测试套件的上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58912484/

相关文章:

java - Spring MVC - 仅允许来自本地主机的请求到特定 Controller

java - 为什么在启动时找到相同的属性文件,但后来在 Spring Java 应用程序中却找不到?

spring-boot - Spring Boot 2.0 未注册自定义执行器端点

mysql - 一夜之间失去连接(spring boot + mysql)

spring - 如何使用 Spring REST Docs 创建一个 curl 片段以使用双引号而不是单引号?

java - 如何为该方法编写 AspectJ AOP 表达式?

java - 将 @Version 与 Envers 一起使用

java - MIME-TYPE 异常 Main.css Spring Boot

java - 使用 Spring Boot 的 Spring 批处理 : Read arguments from config or command line and use them in job

java - spring-boot 2.0.6 速度 View 与资源加载器路径属性的问题