FactoryGirl

2010年9月13日

fixtureの代替となるツール

ホームページ

Github

インストール

Gemfileに

group :test do
  gem 'factory_girl_rails'
end

を追加して

bundle install

実行

使い方

  • 定義
    specフォルダの下にfactoriesフォルダを作成
    このフォルダの中にrbファイルを作成し、そこにデータのひな形を作成する
    #spec/factories/users.rb 

    Factory.define :user do |f|
      f.name                                       'value of name'
      f.name_kana                                  'カナ'
      f.email                                      'test@example.com'
    end
  • ひな形を元にデータを作成
    user = Factory(:user)
  • 連番の付いたデータを作成
    まず、factories/users.rbファイルに以下を追加
    #spec/factories/users.rb 

      Factory.sequence :email do |n|
        "person#{n}@example.com"
      end

    ひな形の中のemailのデータ部分を以下に書き換え

    f.email { Factory.next(:email) }

    もしくは、直接以下のように書く

    f.sequence(:email)          {|n| "factory#{n}@example.com"}
  • 以下作成中