2015-10-05 30 views
1

使用Rails 4.2.3存根架的應用,Rspec的3post數據與rspec的和webmock

我想post數據傳遞到一個假的機架應用在我的測試中做出相應的反應。

我虛假的應用:

# spec/support/fake_mangopay.rb 
class FakeMangopay < Sinatra::Base 
    attr_accessor :user 

    post '/:version/oauth/token' do 
    json_response :post, 200, 'token.json' 
    end 

... 

    private 

    def json_response(method, response_code, file_name) 
    content_type :json 
    status response_code 
    File.open("#{File.dirname(__FILE__)}/fixtures/mangopay/#{method}/#{file_name}", 'rb').read 
    end 
end 

我怎麼存根要求:

# spec/spec_helper 
config.before(:each) do 
    stub_request(:any, /api.sandbox.mangopay.com/).to_rack(FakeMangopay) 
    ... 
end 

我現在有簡單(靜態)JSON文件,我想使他們json.erb文件。 但我不知道如何獲得這些帖子參數..

幫助?

回答

0

發現我可以訪問request.body以獲得我想要的。

params = JSON.parse request.body.read