依赖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