在我使用 Maven 运行一堆 Selenium (jUnit4) 测试后,我想做一个数据库清理(删除他们插入的东西等)。这是一个运行在 Tapestry/Spring/Hibernate 和遗留数据库上的旧项目。我想在 @After
注释方法中进行清理 - 但 DAO/Managers/SessionFactory 的注入(inject)不起作用。
测试是这样进行的:我在一个控制台中运行 (mvn jetty:run-war
) 应用程序,然后在另一个控制台中开始测试 (mvn test
) - 它访问 localhost:8080 上的应用程序。
最佳答案
几种可能的方法:
- 使用dbunit ,旨在将数据库返回到测试之间的已知状态。
- 使用
try{}finally{}
block 将每个测试包装在数据库事务中,最终回滚事务。 - 严格使用数据库进行测试,不要担心。让您的测试每次都创建唯一标识/命名的值,这样您就不会发生冲突,否则不要采取任何行动。
关于java - Selenium 测试后的数据库清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4680869/