2011-07-14 8 views
1

私のRailsプロジェクトでは、カスタムコードを使用して、各テストの前にデータベースをセットアップします。これは大量のデータで、毎回約2秒かかります。このデータはすべてのテストで同じですので、すべてのテストでこの設定を行わないようにします。Rails 2.3のトランザクションフィクスチャ外のデータベースの設定

Railsには、データベースをテスト前の状態にロールバックするトランザクションフィクスチャがありますが、Railsのフィクスチャの後にあります。私の問題は、セットアップデータが作成される前の状態にロールバックされることです。

トランザクションフィクスチャがセットアップコードをロールバックしないようにする方法はありますか?トランザクションが開始される前にいつかセットアップコードを実行しなければならないと思いますが、これはどこですか?

答えて

1

すべてのテストで同じようにこのデータがDB内にあれば問題ありませんか?

もしそうなら、あなたはシードデータは、テスト・フィクスチャを使用することを得ることについてでした、次の質問から、同じアドバイスに従うことができます:Prevent Rails test from deleting seed data

あなたのtest_helper.rb

の最上部に追加します
require "#{Rails.root}/PATH/TO/TEST_DATA_GENERATOR.rb" 
generate_test_data 

この後、テストデータが1回生成され、次にフィクスチャと同様にトランザクション処理されるようです。お役に立てれば。

+0

ありがとうございます、私はもう一度取り組んでいます。 – Ralf

関連する問題