Rails Tutorial のサンプルアプリをベースに作り始めたアプリに、 Devise によるユーザー登録を追加したところ、全てのテストで下記のエラーが出るようになりました。
テストには Minitest を使用しています。
ActiveRecord::RecordNotUnique: ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: UNIQUE constraint failed: users.email: INSERT INTO "users" (...
emailの重複制約に引っかかっている様子…?
テスト環境のユーザーはどこに設定があるんだっけと思い返したところ、 test/fixtures/users.yml
の内容がデフォルトで下記のようになっているのを発見。
one: {}
# column: value
#
two: {}
# column: value
おそらくこれのせいで、同じ値を使って one と two の二人のユーザーが作られる状態になっているのかと。 two を削除すると、とりあえずまたテストが動くようになりました。
one: {}
# column: value
この後ユーザーが絡んだテストを追加する際にちゃんとした対応が必要そうですが…取り急ぎ。
0 件のコメント:
コメントを投稿