1

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

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 增加?

4

1 回答 1

0

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

于 2012-05-06T06:43:28.333 回答