标签: ruby-forgery

如何强制Forgery在Factory_girl定义中返回unqiue数据

我的工厂看起来像这样:

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

我从Rspec打来的电话看起来像这样:

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

使用我的优惠券模型,我有一个验证,要求标题是唯一的.我能够运行此测试的唯一方法是在我的工厂中执行此操作:

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

当然必须有更好的方法吗?

rspec ruby-on-rails factory-bot ruby-forgery

2
推荐指数
1
解决办法
646
查看次数

标签 统计

factory-bot ×1

rspec ×1

ruby-forgery ×1

ruby-on-rails ×1