7

以下はエラーを生成します: 「未定義のローカル変数またはメソッド `params'」

assert_equal params[:recipient_id], users(:one).id

params ハッシュをどのようにテストしますか?

assert_redirectまた、パラメータが存在する場合、どのようにテストしますか? パラメーターは URL に追加されるため、model_pathまたは同様のテストは失敗します。

Rails 3 のビルトイン テスト クラスを操作します。

4

1 に答える 1

8

http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllersは、この情報の一部を提供します。

この場合、 params は@requestor@responseオブジェクトにアタッチされているため (テストしている HTTP メソッドによって異なります)、 として参照できます@request.params[:recipient_id]

リダイレクトの場合: assert_redirected_to post_path(assigns(:post))特定のモデルの適切なパスにリダイレクトされることを表明します。assigns メソッドには、コントローラー内で設定してビューに渡すインスタンス変数が必要です。

于 2011-07-08T17:30:38.093 に答える