我正在爲使用Watir和RSpec的Rails應用程序編寫集成測試。跨越每個測試的數據庫中設置數據的最佳方式是什麼?例如,我有一個我想用於一組測試的用戶。我如何在所有測試運行之前播種這些常用數據(例如用戶),然後爲下一套測試進行清理?如何爲Rails應用程序的Watir集成測試種子測試數據?
1
A
回答
1
通常有一些測試的全局數據是一個壞主意,並可能在測試中引入依賴關係(這總是一個壞主意)。爲了避免這種情況,每個測試都應該生成它自己需要的數據,而不是依賴一些全局插入的數據。
如果您使用的是RSpec,那麼它會爲您執行一些工作(它甚至會以隨機順序運行測試以避免依賴關係) - 它會在運行測試之前創建數據庫保存點並回滾所有更改考試。理想情況下,這意味着測試數據庫在測試運行之前爲空,在測試運行後它將爲空。
在Rails中,您可以使用Rails own fixtures來播種所需的數據或使用一些第三方gem,如FactoryGirl。
再一次,不要創建任何全局數據,這些數據將被所有測試使用,因爲遲早會回來困擾您。
1
相關問題
- 1. 用大量種子數據測試Rails應用程序
- 2. 如何集成測試兩個Rails應用程序
- 3. 各種集成的Rails測試
- 4. 單元測試與Express.js應用程序的集成測試
- 5. 的Rails:集成測試數據
- 6. 爲集成測試生成測試數據庫
- 7. 如何管理Hibernate的測試數據搜索集成測試
- 8. Rails Shopify應用程序的集成測試
- 9. 兩個rails應用程序之間的測試集成
- 10. 用Watir測試Rails。我如何加載我的測試數據庫與夾具/測試/夾具
- 11. 如何使用GIS數據庫測試Rails應用程序
- 12. 使用種子數據運行集成測試
- 13. 如何設置的Rails集成測試
- 14. 數據庫集成測試
- 15. 如何寫數據庫集成測試
- 16. put_via_redirect Rails中集成測試
- 17. 集成測試Rails 2.1
- 18. Rails集成測試語法
- 19. 如何測試與支付系統集成的應用程序?
- 20. 集成測試爲天青與測試數據
- 21. 如何使用Auth0集成正確測試Angular4應用程序?
- 22. 使用相同的集成測試測試多個Android應用程序?
- 23. 測試Rails中的Sinatra應用程序
- 24. Rspec的測試Rails應用程序
- 25. 集成測試/單元測試:做了太多集成測試?
- 26. 如何使用@Build爲Grails集成測試創建多種類型的測試數據
- 27. 如何從.NET應用程序進行集成測試
- 28. 如何進行集成測試WPF應用程序
- 29. 如何在Noje.js RESTful應用程序中進行集成測試?
- 30. 使用SqLite爲Flex應用程序編寫集成測試
同意。不幸的是,我遇到了在每個規範測試中設置數據的問題。經過一些更多的搜索,這涉及到我遇到的問題:http://stackoverflow.com/questions/2600821/rspec-in-depth-differences-between-beforeall-and-beforeeach – Vince
另外一個解釋,我原來的問題是這是我在每個規格測試中設置數據時遇到的問題的結果。當時唯一能找到的解決方法是組織我的測試組,並將我的設置放在最前面。 – Vince