2

私の工場は次のようになります。

Factory.define :coupon do |c|
  c.title { Forgery(:lorem_ipsum).sentences(3, :random => true) }
end

そして、Rspec からの呼び出しは次のようになります。

coupons = []
5.times {|i| coupons << Factory(:coupon, :starts_at => i.days.ago) }

私の Coupon モデルでは、タイトルが一意である必要があるという検証があります。このテストを実行できる唯一の方法は、工場でこれを行うことです。

Factory.define :coupon do |c|
  c.title {|i| Forgery(:lorem_ipsum).sentences(3, :random => true) + "#{i}" }
end

確かにもっと良い方法があるはずですか?

4

1 に答える 1