Factory Girlでwith_options

Factory Girlを使ってみようと勉強中です。

で、:class =>とか:parent =>とか毎回書くの面倒だなーと思って、
試しにwith_optionsを使ってみたら動きました。

Factory.define :user1, :class => User do |u|
  u.name 'ユーザ1'
end

Factory.define :user2, :class => User do |u|
  u.name 'ユーザ2'
end

が、

Factory.with_options :class => User do |f|
  f.define :user1 do |u|
    u.name 'ユーザ1'
  end

  f.define :user2 do |u|
    u.name 'ユーザ2'
  end
end

という風に書けます。


with_options自体はActiveSupportなので大した発見ではないんですが、
検索しても見つからなかったので、記事にしてみました。
with_optionsがクラスにも使えることを初めて知りました。