2011-07-14 35 views
1

對於我的Rails項目,我使用自定義代碼在每次測試之前設置我的數據庫。這是很多數據,每次大約需要2秒鐘。這些數據對於每個測試都是相同的,所以我想避免在每個測試中進行這種設置。在Rails 2.3中設置數據庫以外的交易裝置

Rails具有事務性固定裝置,它將數據庫回滾到測試前的狀態,但在Rails固件之後。我的問題是,它也回滾到我的設置數據創建之前的狀態。

有沒有辦法來防止交易裝置回滾我的設置代碼?我假設在交易開始之前我必須運行我的設置代碼,但這會是什麼情況?

回答

1

如果這些數據在數據庫中,對於所有測試來說是一樣的嗎?

如果是這樣,你可以遵循下面的問題,這是關於獲得種子數據與測試夾具使用相同的提醒:Prevent Rails test from deleting seed data

您要添加到您的test_helper.rb

頂部
require "#{Rails.root}/PATH/TO/TEST_DATA_GENERATOR.rb" 
generate_test_data 

在此之後,您的測試數據似乎會生成一次,然後像夾具一樣進行事務處理。希望這可以幫助。

+0

謝謝,我會再試一次時再試試這個。 – Ralf