gpt4 book ai didi

ruby-on-rails - 测试网::HTTP.get_Response()

转载 作者:数据小太阳 更新时间:2023-10-29 08:51:16 24 4
gpt4 key购买 nike

我正在尝试在我的一个 Rails 模型上测试一种方法。我正在从 url 返回 HTTP 状态,但不知道如何对返回进行 stub 以测试不同的返回代码,以确保我的代码适用于不同的情况。

这是我要模拟的代码行:

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 的返回值?

最佳答案

我推荐 fakeweb为此,例如:

FakeWeb.register_uri(:get,
"http://example.com/value.html",
:body => "Success!")

FakeWeb.register_uri(:get,
"http://example.com/value.html",
:body => "Not found!",
:status => ["404", "Not Found"])

关于ruby-on-rails - 测试网::HTTP.get_Response(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12417018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com