【发布时间】:2020-04-17 09:20:49
【问题描述】:
我正在使用 JUnit 5 测试 DynamoDB,我有一个用 @BeforeAll 注释的设置方法,我在数据库中插入 3 个项目,一个用 @AfterAll 注释的方法在所有测试完成后删除数据库中的项目运行。
@Test
@Order(1)
public void addNewCar() {
repository.save(new Car("d"));
assertThat(repository.count()).isEqualTo(4);
}
我先插入一个新项目,然后我删除一个项目:
@Test
@Order(2)
public void deleteCar() {
repository.deleteById("a");
assertThat(repository.count()).isEqualTo(2);
}
但是,第一个测试失败(计数是 3 而不是 4),因为在测试 2 中删除的汽车已经在测试 1 中删除。
我可以通过使用@BeforeEach 和 AfterEach 注释设置和清理数据库方法来运行来解决它,但我很好奇为什么我的项目已经在测试 1 中被删除了?
【问题讨论】:
标签: unit-testing testing junit amazon-dynamodb junit5