当我使用Maven运行一堆Selenium(jUnit4)测试后,我想要做一个数据库清理(删除它们插入的东西等)。这是一个在Tapestry/Spring/Hibernate上运行的旧项目和一个遗留数据库。我想在@After
注释的方法中进行清理 - 但注入DAO/Managers/SessionFactory不起作用。测试如下:我在一个控制台中运行(mvn jetty:run-war
)应用程序,然后在另一个控制台(mvn test
)中启动测试 - 它访问localhost:8080上的应用程序。Selenium测试后的数据库清理
1
A
回答
6
几种可能的方法:
- 使用dbunit,其目的是将数据库恢复到测试之间一个已知的状态。
- 使用
try{} finally{}
块在数据库事务中包装每个测试,最终回滚事务。 - 严格使用数据库进行测试,不用担心。让您的测试每次创建唯一标识/命名的值,这样您就不会发生冲突,否则不会采取任何行动。
0
我宁愿用
@Transactional
anotation上述方法的声明。它在每次测试后都会运行回滚。这对我来说可以。
例如:
@Test
@Transactional
public void simpleTest(){
// your logic here
}
相关问题
- 1. JUnit测试后清理数据库。
- 2. 在Node.js测试后清理数据库
- 3. 在node.js中测试后清理数据库
- 4. 在测试Postgress和PHP后设置和清理数据库
- 5. 清理MsUnit测试之间的SQLCompact数据库中的数据
- 6. 取消测试后清理
- 7. Codeception:从数据库清理测试数据
- 8. Rails的数据库测试和清除
- 9. 运行Selenium GUI测试后回滚数据库
- 10. 测试之间的轨道清理数据库不起作用
- 11. Rest-Assured:如何清理测试数据?
- 12. 如何在运行UI测试前后设置和清理我的数据库
- 13. 在UI验收测试后清理向数据库添加的记录
- 14. 用http调用每个junit测试用例后的数据库清理
- 15. 如何针对测试数据库运行Selenium测试?
- 16. NUnit - 测试失败后的清理
- 17. 清理生产数据库以供测试使用
- 18. 清理整个数据库(用Hibernate进行单元测试)
- 19. 使用Arquillian进行Java集成测试,数据库清理
- 20. 数据库清理
- 21. 轨道测试数据库没有清除一些运行后
- 22. 清理数据库后添加dependent::destroy
- 23. SenTestKit:所有测试运行后清理?
- 24. 测试后总是清理干净?
- 25. junit4干净的数据库后测试
- 26. SubSonic3在单元测试中清除测试数据/数据库TearDown操作
- 27. Selenium IDE测试中的动态数据?
- 28. 有效地测试数据库后端
- 29. phpunit数据库在拆解后测试
- 30. 测试数据库中的行测试
你可以看看这个问题:http://stackoverflow.com/questions/82949/before-and-after-suite-execution-hook-in-junit- 4-x – sblundy 2011-01-13 14:09:28
您在寻找如何解决您的问题的提示:“但注入DAO/Managers/SessionFactory不起作用。”或者通过其他方式来设置和重置您的测试数据? – Ralph 2011-01-13 17:54:34