次の場所で使用されるカスタムバリデーター(app / validators / uri_validator.rbにあります)があります。
validates :link, uri: true
スペックでこれを指定するにはどうすればよいですか?
理想的には、次のような1行の電話をかけたいと思います。
it { should validate_uri_of(:link) }
どうすればよいですか?
次の場所で使用されるカスタムバリデーター(app / validators / uri_validator.rbにあります)があります。
validates :link, uri: true
スペックでこれを指定するにはどうすればよいですか?
理想的には、次のような1行の電話をかけたいと思います。
it { should validate_uri_of(:link) }
どうすればよいですか?
factory girlを使用して、無効なデータと有効なデータを持つモデルオブジェクトを作成し、be_validマッチャーを呼び出します。
#factory girl
build(:model, link: valid_uri).should be_valid
build(:model, link: invalid_uri).should_not be_valid
別のオプションはallow_value
マッチャーを使用することですが、理想的ではありませんが、状況によっては機能します。
it { should allow_value(value_which_is_valid).for(:link) }
it { should_not allow_value(value_which_is_invalid).for(:link) }