2016-11-22 35 views
1
  • 轨5.0.0.1
  • RSpec的3.5

我继承了一个代码库。在我考虑重构之前,我正忙于编写集成测试来限制应用程序的功能。如何设置一个RSpec要求规范的request.body用GET请求

我在控制器问题before_action中有以下几行。它似乎读取请求正文。此处的json值用于提取用于验证请求的标识符。

request.body.rewind 
body = request.body.read 
json = JSON.parse(body) unless body.empty? 

我需要测试身份验证是否正确。 如何设置request.body GET请求规格?

回答

1

https://relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec

@ rails_post_5

require "rails_helper" 

RSpec.describe "Widget management", :type => :request do 

    it "creates a Widget and redirects to the Widget's page" do 
    headers = { "CONTENT_TYPE" => "application/json" } 
    post "/widgets", :params => '{ "widget": { "name":"My Widget" } }', :headers => headers 
    expect(response).to redirect_to(assigns(:widget)) 
    end 

end 

或刚刚

post "/widgets", params: '{ "widget": { "name":"My Widget" } }' 
相关问题