From 23e58125de097c2508740964a91fbc38833f2352 Mon Sep 17 00:00:00 2001 From: yang chen Date: Fri, 14 Nov 2025 17:23:58 +0800 Subject: [PATCH] =?UTF-8?q?test(unit):=20=E8=B0=83=E6=95=B4=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=B5=8B=E8=AF=95=E6=95=B0=E6=8D=AE=E5=BA=93=E4=B8=8E?= =?UTF-8?q?Redis=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 简化数据源配置,移除多数据源支持- 使用 Druid 连接池并启用异步初始化 - 配置 SQL 初始化脚本位置 - 单元测试 Redis 端口更正为 16379- MyBatis Plus 启用延迟加载以提升测试速度 - 添加测试后清理数据库的 SQL 脚本- 引入 Sql 注解用于执行清理脚本 --- .../test/resources/application-unit-test.yaml | 37 +++++++------------ .../src/test/resources/sql/clean.sql | 1 + .../src/test/resources/sql/create_tables.sql | 1 + .../test/core/ut/BaseDbAndRedisUnitTest.java | 2 + 4 files changed, 17 insertions(+), 24 deletions(-) create mode 100644 jeelowcode-admin/src/test/resources/sql/clean.sql create mode 100644 jeelowcode-admin/src/test/resources/sql/create_tables.sql diff --git a/jeelowcode-admin/src/test/resources/application-unit-test.yaml b/jeelowcode-admin/src/test/resources/application-unit-test.yaml index 9859052..8800bc2 100644 --- a/jeelowcode-admin/src/test/resources/application-unit-test.yaml +++ b/jeelowcode-admin/src/test/resources/application-unit-test.yaml @@ -5,35 +5,24 @@ spring: --- #################### 数据库相关配置 #################### spring: datasource: - dynamic: # 多数据源配置 - primary: master - datasource: - master: - # 达梦数据库 主库,业务库 - name: jeelowcode_pre_master - url: jdbc:dm://127.0.0.1:5236?schema=LOWCODE_MASTER&compatibleMode=oracle&socketTimeout=60000&connectTimeout=30000 - username: SYSDBA - password: 83kTnuLWPczi - driver-class-name: dm.jdbc.driver.DmDriver - jeelowcode: # 从库,框架库 - name: jeelowcode_pre_frame - url: jdbc:dm://127.0.0.1:5236?schema=LOWCODE_FRAME&compatibleMode=oracle&socketTimeout=60000&connectTimeout=30000 - username: SYSDBA - password: 83kTnuLWPczi - driver-class-name: dm.jdbc.driver.DmDriver - slave: # 日志库单独 - name: dev_jeelowcode_log - lazy: true # 开启懒加载,保证启动速度 - url: jdbc:dm://127.0.0.1:5236?schema=LOWCODE_LOG&compatibleMode=oracle&socketTimeout=60000&connectTimeout=30000 - username: SYSDBA - password: 83kTnuLWPczi - driver-class-name: dm.jdbc.driver.DmDriver + name: jeelowcode_pre_master + url: jdbc:dm://127.0.0.1:5236?schema=LOWCODE_MASTER&compatibleMode=oracle&socketTimeout=60000&connectTimeout=30000 + username: SYSDBA + password: 83kTnuLWPczi + driver-class-name: dm.jdbc.driver.DmDriver + druid: + async-init: true + initial-size: 1 + sql: + init: + schema-locations: classpath:/sql/create_tables.sql # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 redis: host: 127.0.0.1 # 地址 - port: 6379 # 端口(单元测试,使用 16379 端口) + port: 16379 # 端口(单元测试,使用 16379 端口) database: 0 # 数据库索引 + mybatis-plus: lazy-initialization: true # 单元测试,设置 MyBatis Mapper 延迟加载,加速每个单元测试 diff --git a/jeelowcode-admin/src/test/resources/sql/clean.sql b/jeelowcode-admin/src/test/resources/sql/clean.sql new file mode 100644 index 0000000..176703b --- /dev/null +++ b/jeelowcode-admin/src/test/resources/sql/clean.sql @@ -0,0 +1 @@ +select 1 from dual; \ No newline at end of file diff --git a/jeelowcode-admin/src/test/resources/sql/create_tables.sql b/jeelowcode-admin/src/test/resources/sql/create_tables.sql new file mode 100644 index 0000000..176703b --- /dev/null +++ b/jeelowcode-admin/src/test/resources/sql/create_tables.sql @@ -0,0 +1 @@ +select 1 from dual; \ No newline at end of file diff --git a/jeelowcode-tool/tool-spring-boot-starter-test/src/main/java/com/jeelowcode/tool/framework/test/core/ut/BaseDbAndRedisUnitTest.java b/jeelowcode-tool/tool-spring-boot-starter-test/src/main/java/com/jeelowcode/tool/framework/test/core/ut/BaseDbAndRedisUnitTest.java index e760112..022aca2 100644 --- a/jeelowcode-tool/tool-spring-boot-starter-test/src/main/java/com/jeelowcode/tool/framework/test/core/ut/BaseDbAndRedisUnitTest.java +++ b/jeelowcode-tool/tool-spring-boot-starter-test/src/main/java/com/jeelowcode/tool/framework/test/core/ut/BaseDbAndRedisUnitTest.java @@ -12,6 +12,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerA import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Import; import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.jdbc.Sql; /** * 依赖内存 DB + Redis 的单元测试 @@ -22,6 +23,7 @@ import org.springframework.test.context.ActiveProfiles; */ @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbAndRedisUnitTest.Application.class) @ActiveProfiles("unit-test") // 设置使用 application-unit-test 配置文件 +@Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) // 每个单元测试结束后,清理 DB public class BaseDbAndRedisUnitTest { @Import({