当前使用版本(必填,否则不予处理)

mybatis-plus: 3.5.2 spring-boot: 2.5.14

该问题是如何引起的?(确定最新版也有问题再提!!!)

@MybatisPlusTest 注解没有引入 DataSourceAutoConfiguration (自动创建 Datasource) 和 SqlInitializationAutoConfiguration (自动加载schema.sql) 配置.

重现步骤(如果有就写完整)

  1. 使用 @MybatisPlusTest 创建测试类
  2. 在 src/test/resources 目录下创建 schema.sql
  3. 测试代码有表操作时报 Table "XXX" not found (this database is empty); SQL statement: ...

也可以删除 mybatis-plus-boot-starter-test/src/test/resources/application.yml 中的 spring.datasource.schema: classpath:schema.sql: classpath:schema.sql, 运行单元测试 com.baomidou.mybatisplus.test.autoconfigure.MybatisPlusSampleTest, 也会报相同的错误.

在使用类似的测试注解 @JdbcTest, @DataJdbcTest 和 @DataJpaTest 时都能够默认加载 schema.sql

报错信息

Table "XXX" not found (this database is empty); SQL statement: ...

Comment From: miemieYaho

https://github.com/mybatis/spring-boot-starter/blob/master/mybatis-spring-boot-test-autoconfigure/src/main/java/org/mybatis/spring/boot/test/autoconfigure/MybatisTest.java

Comment From: fishautumn

@miemieYaho MyBatis 项目貌似是通过其他方式已经支持了.

这个是我和他们的讨论: https://github.com/mybatis/spring-boot-starter/issues/681