java - 自使用 spring.main.lazy-initialization: true 的 spring boot 2.5.x 以来,使用数据库的测试失败
问题描述
我们用来spring.main.lazy-initialization: true
在我们的 spring boot 2.4.x 应用程序上运行我们的测试
自 Spring Boot 2.5.x 以来,使用spring.main.lazy-initialization: true
和spring.jpa.defer-datasource-initialization: true
,依赖于数据库中某些数据的所有测试都失败了。
当我设置spring.main.lazy-initialization: true
时,一切都恢复正常。
当我运行测试时,数据库模型是从实体中推断出来的,数据是从 data.sql 文件中加载的。当我正常运行 API 时,不管有没有延迟初始化,都没有问题
作为一个后备解决方案,我们总是设置spring.main.lazy-initialization: true
,但我想了解为什么自 2.5.x 以来我们不能再在测试中使用延迟初始化?
解决方案
推荐阅读
- jquery - 在 Carousel Bootstrap Ajax Jquery 中添加活动类
- c++ - 如何在 ubuntu 上使用 make 修复主楼 gtest 项目的多个定义
- swift - 如何将变量的值作为参数传递给函数?
- javascript - 如何从迭代中停止javascript过滤器功能
- python - 创建包含两列数据框的 seaborn 直方图
- html - 我需要对齐文本,以便“当前”与其余导航链接位于同一行
- api - APiPlatform 将对象的返回对象而不是数组放在 oneToMany 关系上
- android - Android : 我如何知道来电的目的地?
- python - 试图以 XML 格式打开 URL 的语法错误
- c - 检查字符串是否包含没有库和正则表达式的小写和大写