我需要爲每次測試運行重新創建一個數據庫。我正在使用Robotium
爲我的應用程序自動執行測試,因此每個測試都會延伸到ActivityInstrumentationTestCase2
。我發現的是,我可以使用RenamingDelegatingContext
來模擬新的Context
。但只要我從ActivityInstrumentationTestCase2
延伸,我不能使用ActivityUnitTestCase
類中的setActivityContext()
。可能是我走錯了路。請建議另一種可能的方式來重新創建數據庫,如果有的話。非常感謝你。如何爲每個測試運行重新創建一個數據庫?
2
A
回答
4
我嘗試了一段時間來使用renamingdelegatingcontext,但失敗了,因爲據我所知,在ActivityInstrumentationTestCase2中使用它我不得不嘲笑我不能做的應用程序,因爲我們的應用程序實際上擴展了應用程序, onCreate中的特定代碼,它變成了一個可怕的問題。
然後我把每一次運行之間簡單的方法,只是clearedthe數據庫(以及共享偏好和餅乾)
context.deleteDatabase(DATABASE_NAME)
我發現這(surpisingly)不能太慢(相比沒有測試無論如何,都可以通過GUI進行)。您可能會發現,您需要手動調用您的應用程序,然後根據應用程序的編碼方式手動創建每個測試,以便正確設置它,但這很容易實現。
哦,只是說我以前把所有這些代碼放在一個新的測試類中,它擴展了ActivityInstrumentationTestCase2,所以它在setup/tearups中自動發生。
相關問題
- 1. 如何創建一個新的數據庫測試運行之前?
- 2. 與遺留數據庫測試django應用程序 - 如何避免每個測試重新創建數據庫?
- 3. 如何在Spring的每個測試之前重新創建數據庫?
- 4. 如何重新部署,在每次測試運行時重新創建數據庫
- 5. 爲什麼Django要求我創建一個mysql數據庫來運行測試?
- 6. 如何使用每個MSTest單元測試運行的新數據庫實例
- 7. 每個數據庫行NUnit測試?
- 8. Django 1.3測試沒有重新創建數據庫/每次運行測試的加載裝置
- 9. Django單元測試無需每次運行時創建測試數據庫
- 10. IPhone ios 5,在每個模擬器上重新創建數據庫運行?
- 11. 使用JOOQ創建一個數據庫進行測試
- 12. 如何設置teamcity爲每個構建運行android測試
- 13. 爲什麼每次運行測試時都會創建數據庫?
- 14. 如何重新創建一個Django項目的數據庫?
- 15. 如何創建一個單元測試,更新記錄到數據庫在asp.net
- 16. 創建一個每個值只有一行的新數據框
- 17. VSTS加載測試每個數據行一次運行
- 18. 爲每個測試重新啓動appdomain
- 19. 如何爲數據庫中的塊創建新行或爲Rails中的每個塊創建新模型?
- 20. 創建一個新的Maven目標來運行測試茉莉
- 21. 如何在運行時創建一個測試套件現在
- 22. 每次測試運行後重置數據庫
- 23. 在MySql中爲每個客戶端創建一個數據庫
- 24. 爲數據庫中的每個表格創建一個類
- 25. 創建爲每行一個新的div(及其內容)數據庫中的
- 26. 如何在每次測試之前讓Rails測試數據庫重建?
- 27. 如何根據開發數據庫模式重新創建測試夾具
- 28. 我應該爲每個查詢創建一個新的數據庫連接嗎?
- 29. 如何創建一個xml數據庫?
- 30. 如何創建一個MySQL數據庫