Как перенести запрос http, такой как этот, в API Twitter ниже, в глобальной области видимости, чтобы он действовал для всех тестов в наборе Test :: Unit?
stub_request(:get, "https://api.twitter.com/1/users/show.json?screen_name=digiberber").
with(:headers => {'Accept'=>'application/json', 'User-Agent'=>'Twitter Ruby Gem 1.1.2'}).
to_return(:status => 200, :body => "", :headers => {})
Эта заглушка WebMock работает в блоке setup () подкласса TestCase, например
class MyTest < ActiveSupport::TestCase
setup do
stub_request(...)...
end
end
Но не распознается, если я поместил его в глобальную настройку в самом TestCase:
require 'webmock/test_unit'
class ActiveSupport::TestCase
setup do
stub_request(...)
end
end
Что дает мне ошибку:
NoMethodError: undefined method `stub_request' for ActiveSupport::TestCase:Class
Я также попытался пропатчить сам метод def
def self.setup
stub_request(...)
end
но это тоже не работает.
Нечто подобное происходит, когда я использую FlexMock вместо WebMock. Кажется, это проблема масштаба, но я не могу понять, как ее обойти. Идеи?