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

时间:2011-07-08 17:18:48

标签: ruby-on-rails ruby-on-rails-3 testing assert url-parameters

以下内容会生成错误:“undefined local variable or method'srams'”

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

你如何测试params哈希?

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

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

1 个答案:

答案 0 :(得分:7)

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方法应该具有您在控制器内部设置的实例变量以传递给视图