在rspec中获得405状态而不​​是预期的200

时间:2015-07-04 21:36:38

标签: ruby rspec rack grape

我正在为我的Grape API编写测试,该测试安装在Rack应用程序中。我在这个测试中做了一个简单的GET请求,但它给了我405状态代码而不是预期的200.

以下是规范:

require 'grape'
require 'spec_helper'
require 'rack/test'
require './api/api/app'

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

  def app
    API::App
  end

  describe API::App do
    describe "GET /users" do
      it "retrieves users" do
        get "/users"
        expect(last_response.status).to eq(200)
        expect(JSON.parse(last_response.body)).to eq []
      end
    end   
  end
end

似乎它不理解我正在使用的方法,在这种情况下是GET。为什么它不承认呢?

1 个答案:

答案 0 :(得分:-1)

尝试将此作为请求规范:

@RequestMapping(method = RequestMethod.POST, params = "update")
public String update() {
...  
}

以便您可以访问辅助方法,例如describe API::App, type: :request do # your code end Further reading