我正在尝试测试我的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
答案 0 :(得分:0)
我不明白你为什么要测试http://api.vcap.me
一个非本地主机?
您通常会在本地环境中测试该应用。这不是为什么测试服务器是否正常工作的原因。
以下是您的测试应如何显示的示例。 来自https://github.com/dblock/grape-on-rails/blob/master/spec/api/ping_spec.rb
的example project