2011-01-18 7 views
0

特定のパスを要求しますRSpecのRailsアプリケーションへのリクエストコントローラの仕様を作成して特定のアクションを要求できることはわかっていますが、URLへのリクエストを行い、出力が期待どおりであることを確認する方法のほうがはるかです。私は現在、このような何かを効果的にコンパイル方法のシリーズを使用してAPIリクエストをテストしていRSpecので

答えて

1

私はこのユースケースのためにRack :: Testを使いたいです。例:

require 'spec_helper' 
require 'rack/test' 

describe 'API' do 
    include Rack::Test::Methods 

    def app 
    Rails.application 
    end 

    before do 
    @password = "12345" 
    @project = Factory(:project) 
    @user  = Factory(:user, 
         :password    => @password, 
         :password_confirmation => @password, 
         :project    => @project) 

    authorize @user.email, @password 
    end 

    it "gets projects" do 
    get "/api/v1/projects.json" 

    last_response.should be_ok 
    last_response.body.should == [@project].to_json 
    last_response.content_type.should == 'application/json' 
    end 
end 
0

「訪問」方法も機能するようですが、私は嘲笑について知りません。

関連する問題