我正在用Rspec对我的控制器进行功能测试.我已经将路由中的默认响应格式设置为JSON,因此每个不带后缀的请求都将返回JSON.

现在在rspec中,我在try 时得到一个错误(406)

get :index

我需要做

get :index, :format => :json

现在,因为我的API主要支持JSON,所以必须 for each 请求指定JSON格式是非常多余的.

我可以为所有GET请求将其设置为默认值吗?(或所有请求)

推荐答案

before :each do
  request.env["HTTP_ACCEPT"] = 'application/json'
end

Ruby-on-rails相关问答推荐

如何判断是否定义了Rails模型?

DELETE_IF和REJECT的意外行为!方法

Rails 6升级没有加载Mongoid,这是一个问题

我使用rbenv安装Ruby,但我在使用";gem";->;错误:执行gem时遇到此错误.(Errno::EACCES)权限被拒绝

Ruby on Rails 身份验证:设计注册不起作用

如何在哪里查询 Rails 模型中定义的方法

如何使用 activerecord activerecord-session_store 在 Rails 应用程序中使用 cookie 值在数据库中查找会话记录

BigDecimals 的总和最终成为整数 [Ruby on Rails]

Ruby on Rails 7 与 React 集成

Rails Migration将字符串转换为整数?

如果 URL 不存在,请将 http(s) 添加到 URL?

如何避免 RSpec 3.0 中 stub_chain 的弃用警告?

如何在 Ruby on Rails 中的 cookie 上设置 HttpOnly 标志

Rails 3 中的猴子补丁

测试:如何在不损失速度的情况下专注于行为而不是执行?

使用 rvm 更新 ruby​​ 版本后收到警告消息Path set to RVM

长期运行项目中的 Rebase Rails 迁移

Dotenv 多行变量

Rails - 如何在用户登录时覆盖设计 SessionsController 以执行特定任务?

何时在 Ruby on Rails 中使用 lambda?