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