spring - Spring Boot Test 如何跨多个测试套件保持上下文?
问题描述
我正在阅读使用 Spring Boot Test 的指南,其中有一段让我感到困惑。
“随着我们的配置文件越来越丰富,在我们的集成测试中时不时地进行交换是很诱人的。有一些方便的工具可以做到这一点,比如@ActiveProfiles。但是,每次我们使用新配置文件提取测试时,都会创建一个新的 ApplicationContext。” https://www.baeldung.com/spring-tests
所以它假设如果所有测试都在同一个配置文件下运行,那么只会创建一个 ApplicationContext ——但这怎么可能呢?我认为无论如何都会为每个测试套件重新创建所有对象。我错过了什么吗?
官方参考说它是缓存的。
但是它是如何跨多个测试套件加载到 JUnit runner 或 Spock one 中的呢?
解决方案
在我的理解中缺少的是所有测试套件都作为单个程序的一部分运行的事实,因此很容易缓存所有测试套件所需的任何对象,包括 Spring 上下文。
推荐阅读
- java - 在 Java 中,如何从单个 .dat 文件中读取两种数据类型,char 和 int?
- php - yii2 ajax 验证不显示错误
- visual-studio-code - 如何在 VSCode 设置中设置不同的默认格式化程序?
- python - 如何减去两个矩形?
- javascript - 无法删除并在 router.delete 中找不到 404 错误
- matlab - Matlab:ODE45方程的参数拟合 - 只有xdata的初始值
- python - GRU(门控循环单元)不适用于 GPU(TensorFlow)
- javascript - 带有反引号的 JavaScript 模板文字不起作用
- pandas - 使用 PySimpleGUI 和 Pandas 制作表格
- java - Ljava.lang.Object;@5dfcfece 和快速排序