BaseDbAndRedisUnitTest.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package cn.iocoder.dashboard;
  2. import cn.iocoder.dashboard.config.RedisTestConfiguration;
  3. import cn.iocoder.dashboard.framework.datasource.config.DataSourceConfiguration;
  4. import cn.iocoder.dashboard.framework.mybatis.config.MybatisConfiguration;
  5. import cn.iocoder.dashboard.framework.redis.config.RedisConfig;
  6. import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
  7. import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
  8. import org.redisson.spring.starter.RedissonAutoConfiguration;
  9. import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
  10. import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  11. import org.springframework.boot.test.context.SpringBootTest;
  12. import org.springframework.context.annotation.Import;
  13. import org.springframework.test.context.ActiveProfiles;
  14. import org.springframework.test.context.jdbc.Sql;
  15. /**
  16. * 依赖内存 DB 的单元测试
  17. *
  18. * 注意,Service 层同样适用。对于 Service 层的单元测试,我们针对自己模块的 Mapper 走的是 H2 内存数据库,针对别的模块的 Service 走的是 Mock 方法
  19. *
  20. * @author 芋道源码
  21. */
  22. @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbAndRedisUnitTest.Application.class)
  23. @ActiveProfiles("unit-test") // 设置使用 application-unit-test 配置文件
  24. @Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD) // 每个单元测试结束后,清理 DB
  25. public class BaseDbAndRedisUnitTest {
  26. @Import({
  27. // DB 配置类
  28. DataSourceConfiguration.class, // 自己的 DB 配置类
  29. DataSourceAutoConfiguration.class, // Spring DB 自动配置类
  30. DruidDataSourceAutoConfigure.class, // Druid 自动配置类
  31. // MyBatis 配置类
  32. MybatisConfiguration.class, // 自己的 MyBatis 配置类
  33. MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类
  34. // Redis 配置类
  35. RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
  36. RedisAutoConfiguration.class, // Spring Redis 自动配置类
  37. RedisConfig.class, // 自己的 Redis 配置类
  38. RedissonAutoConfiguration.class, // Redisson 自动高配置类
  39. })
  40. public static class Application {
  41. }
  42. }