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

1回のテストでユーザーを生成するときにこのメッセージが表示される場合は、はい、一意の電子メールを生成する際の問題です。ただし、テストデータベースがクリーンでない(ユーザーが以前のテストから残っている)ために、この種のエラーメッセージを受け取る可能性があります。疑わしい場合は、テストログを確認してください。

于 2012-05-06T06:43:28.333 に答える