我正在为我的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。为什么它不承认呢?
答案 0 :(得分:-1)
尝试将此作为请求规范:
@RequestMapping(method = RequestMethod.POST, params = "update")
public String update() {
...
}
以便您可以访问辅助方法,例如describe API::App, type: :request do
# your code
end
。 Further reading