我对Ruby很新。我试图针对以下类编写RSpec测试:
require 'rest-client'
class Query
def initialize
@@log = Logger.new(STDOUT)
RestClient.log = @@log
@@user = "joe@example.com"
@@password = "joe123"
end
def get_details
begin
url = "http://api.example.com/sample/12345"
resource = RestClient::Resource.new(url, :user => @@user,
:password => @@password, :content_type => :json, :accept => :json)
details = resource.get
rescue => e
throw e # TODO: something more intelligent
end
end
end
我发现与返回RestClient.get
的{{1}}不同,Response
会将响应正文作为Resource.get
返回。我想让Response工作,因为我想扩展它以进行不同的子资源调用。
有没有办法可以找到GET呼叫响应的HTTP状态代码?这将允许我写一个像以下的测试:
String
答案 0 :(得分:1)
获取返回继承自String类的RestClient :: Response类的实例。
您仍然可以通过调用方法代码details.code
来检查返回代码。其他方法例如是details.headers
和details.cookies