1

Grape API をテストしようとしていますが、テストで 400 エラーが発生しますが、テストでテストするはずのアクションを実行すると、予想どおり 201 HTTP 応答が返されます。ここで何が起こっているのかわかりません。以下は特定の RSpec テストですが、ファクトリと実際の G​​rape API を含むプロジェクト全体を GitHub のhackcentral/hackcentralで表示できます。以下のテストは、Alpha::Applications で POST create アクションをテストしています。(アプリ/api/アルファ/applications.rb)

describe 'POST #create' do
  before :each do
    @oauth_application = FactoryGirl.build(:oauth_application)
    @token = Doorkeeper::AccessToken.create!(:application_id => @oauth_application.id, :resource_owner_id => user.id)
  end

  context "with valid attributes" do
    it "creates a new application" do
      expect{
        post "http://api.vcap.me:3000/v1/applications?access_token=#{@token.token}", application: FactoryGirl.attributes_for(:application), :format => :json
      } .to change(Application, :count).by(1)
    end

    it "creates a new application, making sure response is #201" do
      post "http://api.vcap.me:3000/v1/applications", application: FactoryGirl.attributes_for(:application), :format => :json, :access_token => @token.token
      response.status.should eq(201)
    end
  end
end
4

1 に答える 1

0

http://api.vcap.melocalhost 以外をテストする理由がわかりません。

通常は、ローカル環境でアプリをテストします。また、これは、サーバーが動作しているかどうかをテストする正しい理由でもありません。

以下は、テストがどのように見えるべきかの例です。 サンプル プロジェクトhttps://github.com/dblock/grape-on-rails/blob/master/spec/api/ping_spec.rb

于 2015-04-08T17:25:12.817 に答える