&tag(factory_girl/Rails3);
*目次 [#i4fe533b]
#contents
*関連ページ [#ne0342ea]

*参考情報 [#ia37453a]
-[[factory_girl]]

*導入 [#td1b16f2]
**Gemfileを編集 [#x241adc7]
-rails3-generatorsはモデル生成時に、factory_girlの定義も同時に作ってくれる。
#pre{{  
group :test do
  gem 'factory_girl_rails'
  gem 'rails3-generators'
end
}}

**モデル定義 [#n39a27e4]
-FactoryGirl.defineを使ってモデルを定義する。この場合Userテーブルのモデルを定義したことになる。
#pre{{
require 'factory_girl'

FactoryGirl.define do
  factory :user do
    name 'John Doe'
    date_of_birth { 21.years.ago }
  end
end
}}
-定義するファイルは以下のどれでもいいらしい。
#pre{{
test/factories.rb
spec/factories.rb
test/factories/*.rb
spec/factories/*.rb
}}
**使う [#d32044d6]
-例えば次のように呼び出すと、上記userモデルのインスタンスをテスト用データベースに保存した上で返してくれる。
#pre{{
FactoryGirl.create(:user)
}}


**データベースの準備 [#h2a7f935]
-実際にrspecなどで使う場合事前にデータベースの準備が必要。
 bundle exec rake db:test:prepare

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS