如何在Rails测试中测试params哈希?

以下生成错误:“未定义的局部变量或方法`params’”

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

你如何测试params哈希?

另外,如果存在params,你如何测试assert_redirect ? params附加到URL,因此对model_path或类似的测试失败。

在Rails 3中使用内置测试类。

http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers提供了一些这方面的信息。

在这种情况下,params附加到@request@response对象(取决于您正在测试的HTTP方法),因此您可以将其称为@request.params[:recipient_id]

对于重定向: assert_redirected_to post_path(assigns(:post))将断言您被重定向到给定模型的正确路径。 assign方法应该在控制器内部设置要传递给视图的实例变量