葡萄Rails RSpec测试返回400

时间:2015-02-08 17:26:56

标签: ruby-on-rails rspec grape grape-api grape-entity

我正在尝试测试我的Grape API,但是我在测试中收到了400错误,但是当我运行该测试应该测试时,我得到了201 HTTP响应。不知道这里发生了什么。下面是具体的RSpec测试,但您可以在hackcentral/hackcentral的GitHub上查看工厂和实际Grape API的整个项目。下面的测试是测试Alpha :: Applications上的POST创建操作。 (应用程序/ 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

1 个答案:

答案 0 :(得分:0)

我不明白你为什么要测试http://api.vcap.me一个非本地主机?

您通常会在本地环境中测试该应用。这不是为什么测试服务器是否正常工作的原因。

以下是您的测试应如何显示的示例。 来自https://github.com/dblock/grape-on-rails/blob/master/spec/api/ping_spec.rb

example project