Test :: Unitスイートのすべてのテストで有効になるように、グローバルスコープでこのようなhttpリクエストをグローバルスコープでスタブするにはどうすればよいですか?
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スタブは、TestCaseサブクラスのsetup()ブロック内で機能します。
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
しかし、それも機能しません。
WebMockの代わりにFlexMockを使用すると、同様のことが起こります。スコープの問題のようですが、回避方法がわかりません。アイデア?