當我使用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