Bry*_*yan 12 ruby automated-tests ruby-on-rails-3
我有一个简单的控制器,指定:
respond_to :json
Run Code Online (Sandbox Code Playgroud)
当我尝试构建一个像这样调用它的功能测试时:
test "GET" do
get 'index', :format => :json
end
Run Code Online (Sandbox Code Playgroud)
一切正常.但是,如果我尝试以这样的方式传递查询参数:
test "GET" do
get 'index', {:my_param = '1234'}, :format => :json
end
Run Code Online (Sandbox Code Playgroud)
我从控制器返回406错误.如果我通过转储响应response.inspect,我可以看到,@status = 406并且@header具有内容类型text/html.如果我通过response.inspect针对未传递查询参数的简单情况转储响应,我看到它@header具有application/json我在代码中请求的内容类型.
有没有人有任何想法我在这里做错了什么?我怀疑我用哈希或其他东西搞砸ruby语法,但是我碰到了墙头而没有到达任何地方.
我在Mac上运行Ruby 1.9和Rails 3.0.5.
提前致谢!
DGM*_*DGM 26
这是你要调用的函数:
get(action, parameters = nil, session = nil, flash = nil)
Run Code Online (Sandbox Code Playgroud)
该:format部分仍然是一个参数,当然不是会话或闪存.尝试:
get 'index', {:my_param => '1234', :format => :json}
Run Code Online (Sandbox Code Playgroud)
哦,重要提示,请使用'=>',而不是'='...这是哈希,而不是赋值.