mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 02:08:43 +08:00 
			
		
		
		
	修复所有单元测试
This commit is contained in:
		| @@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.infra.test; | ||||
| import cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration; | ||||
| import cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration; | ||||
| import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; | ||||
| import cn.iocoder.yudao.framework.test.config.RedisTestConfiguration; | ||||
| import cn.iocoder.yudao.framework.test.config.SqlInitializationTestConfiguration; | ||||
| import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; | ||||
| import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; | ||||
| import org.redisson.spring.starter.RedissonAutoConfiguration; | ||||
| @@ -23,7 +25,6 @@ import org.springframework.test.context.jdbc.Sql; | ||||
|  */ | ||||
| @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbAndRedisUnitTest.Application.class) | ||||
| @ActiveProfiles("unit-test") // 设置使用 application-unit-test 配置文件 | ||||
| @Sql(scripts = "/sql/create_tables.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) // 每个单元测试结束前,创建表 | ||||
| @Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) // 每个单元测试结束后,清理 DB | ||||
| public class BaseDbAndRedisUnitTest { | ||||
|  | ||||
| @@ -33,9 +34,11 @@ public class BaseDbAndRedisUnitTest { | ||||
|             DataSourceAutoConfiguration.class, // Spring DB 自动配置类 | ||||
|             DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类 | ||||
|             DruidDataSourceAutoConfigure.class, // Druid 自动配置类 | ||||
|             SqlInitializationTestConfiguration.class, // SQL 初始化 | ||||
|             // MyBatis 配置类 | ||||
|             YudaoMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类 | ||||
|             MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类 | ||||
|  | ||||
|             // Redis 配置类 | ||||
|             RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer | ||||
|             RedisAutoConfiguration.class, // Spring Redis 自动配置类 | ||||
|   | ||||
| @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.infra.test; | ||||
|  | ||||
| import cn.iocoder.yudao.framework.datasource.config.YudaoDataSourceAutoConfiguration; | ||||
| import cn.iocoder.yudao.framework.mybatis.config.YudaoMybatisAutoConfiguration; | ||||
| import cn.iocoder.yudao.framework.test.config.SqlInitializationTestConfiguration; | ||||
| import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure; | ||||
| import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration; | ||||
| import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; | ||||
| @@ -20,7 +21,6 @@ import org.springframework.test.context.jdbc.Sql; | ||||
|  */ | ||||
| @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbUnitTest.Application.class) | ||||
| @ActiveProfiles("unit-test") // 设置使用 application-unit-test 配置文件 | ||||
| @Sql(scripts = "/sql/create_tables.sql", executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD) // 每个单元测试结束前,创建表 | ||||
| @Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) // 每个单元测试结束后,清理 DB | ||||
| public class BaseDbUnitTest { | ||||
|  | ||||
| @@ -30,6 +30,7 @@ public class BaseDbUnitTest { | ||||
|             DataSourceAutoConfiguration.class, // Spring DB 自动配置类 | ||||
|             DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类 | ||||
|             DruidDataSourceAutoConfigure.class, // Druid 自动配置类 | ||||
|             SqlInitializationTestConfiguration.class, // SQL 初始化 | ||||
|             // MyBatis 配置类 | ||||
|             YudaoMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类 | ||||
|             MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类 | ||||
|   | ||||
| @@ -1,30 +0,0 @@ | ||||
| package cn.iocoder.yudao.module.infra.test; | ||||
|  | ||||
| import com.github.fppt.jedismock.RedisServer; | ||||
| import org.springframework.boot.autoconfigure.data.redis.RedisProperties; | ||||
| import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.context.annotation.Lazy; | ||||
|  | ||||
| import java.io.IOException; | ||||
|  | ||||
| @Configuration(proxyBeanMethods = false) | ||||
| @Lazy(false) // 禁止延迟加载 | ||||
| @EnableConfigurationProperties(RedisProperties.class) | ||||
| public class RedisTestConfiguration { | ||||
|  | ||||
|     /** | ||||
|      * 创建模拟的 Redis Server 服务器 | ||||
|      */ | ||||
|     @Bean | ||||
|     public RedisServer redisServer(RedisProperties properties) throws IOException { | ||||
|         RedisServer redisServer = new RedisServer(properties.getPort()); | ||||
|         // TODO 芋艿:一次执行多个单元测试时,貌似创建多个 spring 容器,导致不进行 stop。这样,就导致端口被占用,无法启动。。。 | ||||
|         try { | ||||
|             redisServer.start(); | ||||
|         } catch (Exception ignore) {} | ||||
|         return redisServer; | ||||
|     } | ||||
|  | ||||
| } | ||||
| @@ -16,6 +16,9 @@ spring: | ||||
|     druid: | ||||
|       async-init: true # 单元测试,异步初始化 Druid 连接池,提升启动速度 | ||||
|       initial-size: 1 # 单元测试,配置为 1,提升启动速度 | ||||
|   sql: | ||||
|     init: | ||||
|       schema-locations: classpath:/sql/create_tables.sql | ||||
|  | ||||
|   # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 | ||||
|   redis: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV