BaseDbUnitTest.java 1.9 KB

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