【发布时间】:2021-06-17 07:12:53
【问题描述】:
如果我在集成测试中使用单例数据库容器,如何在每次测试之前确保数据库处于干净状态(无数据)?代码库使用 Liquibase 进行数据迁移。
【问题讨论】:
标签: spring-boot liquibase testcontainers
如果我在集成测试中使用单例数据库容器,如何在每次测试之前确保数据库处于干净状态(无数据)?代码库使用 Liquibase 进行数据迁移。
【问题讨论】:
标签: spring-boot liquibase testcontainers
如果您想在每次测试之后/之前删除数据库中的所有行,您可以:
@Transactional 进行测试,Spring 将在每次测试后回滚事务JdbcTemplate/YourEntityRepository(Spring Data JPA 存储库)并使用DELETE SQL 查询(JdbcTemplate)或.deleteAll()(Spring Data JPA 存储库)将其删除,作为 JUnit Jupiters 的一部分 @987654327 @/@AfterEach
您从 Liquibase 应用的 DDL 脚本 (CREATE) 将保留,并且每个测试都以有效架构开始。
【讨论】: