2016-11-22 36 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" } }' 
相關問題