複合バリデーションを追加した後、テストが通らず壮絶にはまってしまいました

class User < ActiveRecord::Base
   validates :name,:uniqueness => {:scope =>:phone }
end

結果から言ってしまえば、fixture ファイルのデータと、テスト用データのプロパティが
全く一緒だった、ということが原因でした

バリデーションかけたら通らないのは当たり前でしたが、変えたものだとばかり考えていたので、
なかなか気づかずに貴重な時間をものすごく使ってしまいました

自分と同じミスをする人はそうそういないと思おいますが、
そんなかたがいらっしゃれば、参考にしていただけたらと思います。

参考にした記事

コントローラー
Rails3でのvalidationメモ

how to validate uniqueness for custom scope active-record rails 4

Reservation Type System w/ Validation – Rails 3.0

Uniqueness scope

[Rails] validates uniqueness scope allow_blank/allow_nil -> validation error

RailsのActiveRecordでvalidates user_id, :uniqueness { scope: item_name } とした時のエラーメッセージからuser_idを除外したい

Railsで2つ以上の値の組み合わせに対するユニーク制約をかける

railsのmodelに複合一意制約

複数一意制約とは

モデル
failed assertion, no message given: rails

Getting “Failed assertion, no message given.” as error when running Ruby Selenium Test Cases

Rails, Failed assertion, no message given

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA