ねえ、私はこのレール4のテストユーザーの初期化は常に空白です
test 'create account' do
if User.create(email: '[email protected]', password: 'blahblah')
assert true
else
assert User.msg
end
end
のように見えます。しかし、私はそれを実行しようとすると、私はこのようなエラーメッセージが出ていテストがあります。
1) Error:
UserTest#test_create_account:
ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_users_on_email"
DETAIL: Key (email)=() already exists.
: INSERT INTO "users" ("created_at", "updated_at", "id") VALUES ('2013-10-16 21:59:54', '2013-10-16 21:59:54', 298486374)
を
これは私に電子メールを初期化していないかのように見えますが、これは上記の作成で初期化する必要があることを理解しています。強力なパラメータを使用しているため、attr_accessableを有効にしていないので、これを実行できます。誰もがこれを引き起こす可能性があることを知っていますか?それ以上の情報が必要なら私に知らせてください。
あなたはあなたの電子メール属性に固有の検証を間違いなく持っています。これは、[email protected]がすでに別のユーザーと作成されている、またはデータベースに保存されているため、エラーが発生しています。電子メールパラメータを変更すると、同じエラーが表示されますか?あなたはそれを2回実行するとどうなりますか? – JeremyS
@JeremyS助けてくれてありがとう!私はそれを変えようとしましたが、何か完全にユニークなものであっても、まったく同じエラーが発生します。 SQLを見れば、created_at、update_at、idだけが挿入されているようです。 – Lethjakman
'email:{#SecureRandom.uuid}@test.com" ' – house9