我有这个工厂:
Factory.define :email_address do |e|
e.sequence(:address) { |n| "factory_#{n}@example.com" }
e.validated true
end
当我使用 rake spec
运行我的规范时,它工作正常。
当我运行 autospec 时,它立即失败,声称电子邮件地址在两个不同的对象中被使用了两次(有一个验证限制了这一点)。
为什么它在 autospec 下表现不同?
最佳答案
有时,当您使用 Ctrl+C 中止测试套件时,可能会使您的数据库变脏。由于您的数据库很脏,创建新对象将发生验证冲突。只需再次运行 rake db:test:clone
就可以了。
关于ruby-on-rails - Factory Girl 序列在 autospec 下失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3010808/