6

ねえ、私はこのようなテストを持っています

test 'create account' do
    if User.create(email: 'me@test.com', 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 を有効にしておらず、これを実行できます。誰がこれを引き起こしているのか知っていますか? さらに情報が必要な場合は、お知らせください。

4

2 に答える 2

8

これは、レールの足場から自動的に生成されたフィクスチャが原因でした。何らかの理由で、これは独自のセクションではなく、テスト内に表示されます。フィクスチャを修正すると、このエラーは表示されなくなりました。

于 2013-10-16T23:03:58.653 に答える