RSpec控制器测试:使用多个参数进行get请求

7

我想测试一个在浏览器上可以工作并且看起来像这样的控制器:

http://url.dev/jobs/1445.json?project_id=1144&accesskey=MyString

以下是我的控制器测试文件内容:

params = {:id=>"1445", :project_id=>1144, :accesskey=>"MyString"}
get :show, params, format: :json

我看到日志显示:

Processing by JobsController#show as HTML
    Parameters: {"id"=>"1440"}

为什么它试图以HTML而不是JSON的方式进行处理?为什么它只接收id参数?
此外,如果我这样做:
get :show, id: params[:id], format: :json

它试图使用JSON处理,但它不起作用,因为我需要其他参数。
2个回答

12
< p > format::json 部分必须位于第二个参数。

这很有效。

params = {:id=>"1445", :project_id=>1144, :accesskey=>"MyString", format: :json}
get :show, params

-2

get 只接受 2 个参数,即 "action" 和 "args"

您的代码:

get :show, params, format: :json

传入3


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接