2

無効な資格情報を入力すると、ユーザーが登録ページに戻されるかどうかを確認する簡単な 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でフォームエラーをテストするより良い方法はありますか?

4

1 に答える 1

2

ユーザーが表示されるページにエラーテキストが含まれていることをテストする必要があります。Cucumberテストを手動でテストしているかのように扱います。フォームの送信後にURLを確認することはありませんが、ページのコンテンツを調べて、送信が成功したかどうかを理解します。

于 2012-07-12T03:37:32.610 に答える