無効な資格情報を入力すると、ユーザーが登録ページに戻されるかどうかを確認する簡単な Cucumber テストがあります。
私の最後のステップは次のようになります。
Then /^I should be on the registration page$/ do
current_path.should == new_user_registration_path
end
ただし、誰かがフォームを送信してエラーが返されると、実際には「/users/sign_up」ではなく「/users」になります。
これは、user_registration POST メソッドが /users にマップされているためだと思います。しかし、/users をテストするのを待ちません。これは、理論的にはユーザーのインデックスになる可能性があり、エラー ページにはなりたくないからです。
Railsでフォームエラーをテストするより良い方法はありますか?