2011-06-24 8 views
1

私は私のGemfileに以下でのRails 3プロジェクトを持っている...db:fixtures:factory_girl_railsにloadのようなビルトインのレーキタスクがありますか?

group :development, :test do 
    gem 'factory_girl_rails', '~> 1.1.beta1' 
end 

私も自分のテストが正常に使用されている仕様/ factories.rbでいくつかの工場の定義を持っています。これらのファクトリを使用して、私の開発データベースに時々移入したいと思います。

私はRailのdbを取得できますか?fixtures:test/fixturesのYamlフィクスチャの代わりにspec/factories.rbで定義されたファクトリをロードするためのrakeタスクをロードしますか?もしそうでなければ、ファクトリ定義によって生成されたデータをロードするために、factory_girl_railsまたはRailsに別のレーキタスクがありますか?

これを達成するために自分のレーキタスクを作成することをお勧めしますが、ここで最初に確認したいと考えています。

+0

別の方法で工場を付加しました。工場に 'if Rails.env ==" test "' – apneadiving

+0

@apneadivingを置くだけで、もし '' Rails.env == 'development''ならば、 ''になるでしょう。また、私は必ず展開のファクトリデータをロードしたくないので、ロードするためにファクトリデータをトリガするif条件を '&&'しなければなりません。カスタムレイクタスクはおそらく、seeds.rbベースのソリューションよりも実行可能に聞こえるでしょう。ありがとうtho。 –

+0

2番目の考えでは、私は@ apneadivingの提案に行き、seeds.rbを使用するつもりです。なぜなら、工場は本当にこの種のものではないからです。このデータを生成するために私の工場コードの一部を再利用できることを願っています。 –

答えて

1

代替方法として、seeds.rbファイルにこのファイルを読み込ませることができます。

ただ、これはあなたのために `seeds`ファイルのロードを作成することができ if Rails.env == "test"

+0

実際には、ifブロックが読み込みます... –

関連する問題