ruby-on-rails - Factory Girl 序列在 autospec 下失败

标签 ruby-on-rails ruby testing rspec factory-bot

我有这个工厂:

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/

相关文章:

sql - Rails - 一个模型上的两个外键都指向同一个模型

ruby-on-rails - 确保更新时Rails数据库记录的唯一性,而不会中止更新过程

mysql - 将SQL结果转换为Hash

ruby-on-rails - Rails ActiveStorage : DirectUpload callbacks

ruby-on-rails - 设计:突然无法登录

ruby - 您如何处理 Active Admin 资源中的序列化编辑字段?

ruby-on-rails - rhc 设置 - 未找到命令

c# - 使用最小起订量模拟通用存储库

c - 如何模拟内存分配失败?

testing - 将多个 JSON 值分配给从 Karate 上的数据库调用返回的 XML 文件