Ruby 针对get/post错误响应的rspec测试
我正在尝试测试http GET错误响应消息,但似乎找不到这方面的任何信息或示例 预期的错误响应为:Ruby 针对get/post错误响应的rspec测试,ruby,testing,rspec,Ruby,Testing,Rspec,我正在尝试测试http GET错误响应消息,但似乎找不到这方面的任何信息或示例 预期的错误响应为: { "success": false, "code": 400, "message": "ERROR: This is the specific error message" } 这会捕获“错误请求”,但如何验证错误响应主体中的“消息” expect {get "<url that generates a bad request>"}.to raise_error(/40
{
"success": false,
"code": 400,
"message": "ERROR: This is the specific error message"
}
这会捕获“错误请求”,但如何验证错误响应主体中的“消息”
expect {get "<url that generates a bad request>"}.to raise_error(/400 Bad Request/)
期望{get”“}。引发_错误(/400错误请求/)
提前感谢您的任何见解 请求返回响应,而非异常:
it 'returns 400 status' do
get '/my_bad_url'
expect(response.status).to eq 400
end
您还可以阅读,以便更好地了解控制器规格。在添加此内容时:
it 'returns 400 status' do
get '/my_bad_url'
expect(response.status).to eq 400
end
你可以写
expect(JSON.parse(response.body)["message"]).to eq("ERROR: This is the specific error message")
或者如果呈现html,则不使用JSON.parse。(我应该提到我使用的是rspec 2.4.1)当我尝试此操作时,我的脚本从未通过“get”行,rspec报告:RestClient::BadRequest:400 Bad Request它从未有机会检查响应?