【发布时间】:2020-11-02 07:46:07
【问题描述】:
我有一个附带项目,我正在使用 Spring Boot、Liquibase 和 Postgres。
我有以下测试序列:
test1();
test2();
test3();
test4();
在这四个测试中,我创建了相同的实体。因为我没有在每个测试用例之后从表中删除记录,所以我得到了以下异常:org.springframework.dao.DataIntegrityViolationException
我想通过以下约束来解决这个问题:
- 我不想使用
@repository来清理数据库。 - 我不想杀死数据库并在每个测试用例上创建它,因为我正在使用 TestContainers,这样做会增加完成测试所需的时间。
简而言之:如何在没有 1) 使用每个实体的 @repository 和 2) 在每个测试用例上杀死并启动数据库容器的情况下,在每个测试用例之后从一个或多个表中删除记录?
【问题讨论】:
标签: java spring-boot liquibase testcontainers