我正在尝试在我的一个 rails 模型上测试一种方法。我正在从 url 返回 HTTP 状态,但不知道如何存根返回以测试不同的返回代码,以确保我的代码适用于不同的情况。
这是我要模拟的代码行:
response = Net::HTTP.get_response(URI.parse(self.url))
我希望为我Net:HTTP.get_response
的规范中的每个测试返回一个特定的 HTTPResponse。
describe Site do
before :each do
FactoryGirl.build :site
end
context "checking site status" do
it "should be true when 200" do
c = FactoryGirl.build :site, url:"http://www.example.com/value.html"
#something to mock the Net::HTTP.get_response to return and instance of Net::HTTPOK
c.ping.should == true
end
it "should be false when 404" do
c = FactoryGirl.build :site, url:"http://www.example.com/value.html"
#something to mock the Net::HTTP.get_response to return and instance of Net::HTTPNotFound
c.ping.should == false
end
end
end
我将如何从 get_response 中提取返回值?