2012-01-16 14 views

答えて

3

私は私の問題を解決するためのシードscribtを書く:

/db/seed.rbに私はfactory_girlを実装し、カスタム件のデータを定義するためにCSVファイルを使用します。

seed.rb:

require 'factory_girl' 
require 'csv' 

CSV.foreach(Rails.root.join("datas.csv"), headers: true) do |row| 
    post = FactoryGirl.create(:post) do |post| 
    post.text = row[0] 
    end 
end 

あなたは関連オブジェクトを作成するためにFactoryGirlを使用することができ、あなたのテスト件のデータとモデルを関連付ける場合:

CSV.foreach(Rails.root.join("post_comments.csv"), headers: true) do |row| 
    Post.all.each do |post| 
    FactoryGirl.create(:comment, post: post) do |comment| 
     comment.name = row[0] 
    end 
    end 
end 

あなたはまた、最初のCSV scribtを使用することができますし、各投稿のコメントを作成するファクトリを実装します。

FactoryGirl.create(:post_with_comments)

は今、あなたはcsvファイルで件のデータをテストするためのxレコードを作成するためにFactoryGirlを使用することができます。

+1

あなたのテクニックの詳細を共有できますか?私はFactoryGirlを通じて使用したいテストケース(入力と出力)のCSVを持っています。 – danv