FactoryGirl序列在数据库中重复生成相同的电子邮件

时间:2012-05-05 08:26:45

标签: ruby-on-rails-3 rspec factory-bot

我使用以下代码生成电子邮件地址:

sequence :email do |n|
  "person#{n}@example.com"
end

然后为了生成用户,我使用以下代码:

factory :user do
  sequence(:username) {|n| "person#{n}"}
  email { generate :email }
  password 'password'
  password_confirmation { |u| u.password }
end

但是,当我运行测试时,它总是生成" person1@example.com"。它永远不会增加到' 2'

我收到错误消息" person1@example.com"已存在于数据库中。

如何让FactoryGirl增加?

1 个答案:

答案 0 :(得分:0)

如果在单个测试中生成用户时收到此消息,则是,这是生成唯一电子邮件的问题。但是你可以收到这种错误信息,因为测试数据库不干净(用户从以前的测试中遗留下来)。如有疑问,请检查测试日志。