我很难让Webmock工作。我正在使用HTTParty来发出GET请求。我希望以下请求返回一个错误:
require 'spec_helper'
require 'api_parser'
require 'httparty'
describe ApiParser do
describe "#get_data" do
it "returns data" do
stub_request(:get, "congress.api.sunlightfoundation.com").to_return(:status => [401, "Forbidden"])
puts HTTParty.get "http://congress.api.sunlightfoundation.com/bills/?history.enacted=true"
end
end我在spec_helper.rb中添加了以下行:
require 'webmock/rspec'
WebMock.disable_net_connect!(allow_localhost: true)但是它仍然在调用实际的API,并且没有被删除。我没有得到预期的401错误。我不知道这里有什么问题。spec_helper漏掉了什么吗?
更新:我做了一些测试,看起来是require api_parser造成了这个问题。当我删除它时,它会工作,但是当我添加它时,它就会停止工作。ApiParser类是我使用HTTParty的地方。我修改了上面的测试,使其直接使用HTTParty,而不是使用类中的方法。
发布于 2015-02-26 21:29:23
发现我在我的ApiParser类中禁用Webmock (几个小时前在进行一些调试时忘记删除它),它正在spec_helper中覆盖配置。
https://stackoverflow.com/questions/28751244
复制相似问题