依赖mysql来测试sql,可能因为数据修复的问题,不能保证每次运行testCase的数据是一致的。
可以使用内置数据库h2来模拟mysql。
引入依赖
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>test</scope> </dependency> |
创建sql文件,建表语句+数据初始化
SET MODE MYSQL; CREATE TABLE `test`( ... ); INSERT INTO `test` (`column1`) Values ('test'); |
测试用例
class H2DatabaseTest { private final ApplicationContextRunner contextRunner = new ApplicationContextRunner() .withConfiguration(AutoConfigurations.of(PrometheusMetricsExportAutoConfiguration.class, MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class, MybatisAutoConfiguration.class, H2DatabaseTest.DataSourceConfiguration.class)) .withPropertyValues("xxx.uuid.standalone=false"); @Test void testWithUserUse() { contextRunner.run(context -> { ..... }); } @Configuration public static class DataSourceConfiguration { @Bean public DataSource dataSource() { return new EmbeddedDatabaseBuilder() .setType(EmbeddedDatabaseType.H2) //建表和初始化数据 .addScript("h2.sql") .build(); } } } |
版权声明:《 mybatis+mysql如何使用TestCase测试sql 》为Saber原创文章,转载请注明出处!
最后编辑:2022-12-12 08:12:43