小编Bry*_*yan的帖子

Rails 3 - 测试控制器的GET方法 - 尝试使用JSON并获得406错误

我有一个简单的控制器,指定:

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.

提前致谢!

ruby automated-tests ruby-on-rails-3

12
推荐指数
1
解决办法
7134
查看次数

标签 统计

automated-tests ×1

ruby ×1

ruby-on-rails-3 ×1