ruby-on-rails - 如何在 rspec 请求规范中设置请求 header ?

标签 ruby-on-rails json testing rspec

在 Controller 规范中,我可以像这样设置 http 接受 header :

request.accept = "application/json"

但在请求规范中,“请求”对象为零。那么我在这里怎么做呢?

我想将http接受 header 设置为json的原因是我可以这样做:

get '/my/path'

而不是这个

get '/my/path.json'

最佳答案

您应该能够将 HTTP header 指定为 get() 方法的第三个参数,如下所述:

http://api.rubyonrails.org/classes/ActionDispatch/Integration/RequestHelpers.html#method-i-get

这里

http://api.rubyonrails.org/classes/ActionDispatch/Integration/Session.html#method-i-process

所以,你可以试试这样的:

get '/my/path', nil, {'HTTP_ACCEPT' => "application/json"}

关于ruby-on-rails - 如何在 rspec 请求规范中设置请求 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9654465/

相关文章:

ruby-on-rails - 延迟作业 ActiveRecord::Job Load - 每 5 秒运行一次?

java - 如何在android volley中隐藏Url或参数值?

python - 访问 json 值

json - 有没有办法使用 F# JsonProvider 枚举 JSON 属性?

javascript - 如何测试 Node 数据分块功能

ruby-on-rails - 用于登录的 Rails 小写字段输入

mysql - Rails 和 MySQL - ActiveRecord::ConnectionNotEstablished 在生产环境中

javascript - 为什么 $(window).load() 有效但 $(document).ready() 无效?

java - 在多个 jvm 实例中运行 java 代码

python - 在 python 类的任何实例上模拟方法