我正在使用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中删除了?
您的测试类还需要一个注释:
@TestMethodOrder(OrderAnnotation.class)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句