こんにちは、Rails モデル内に次のようなコードがあります。
class Page < ActiveRecord::Base
def calculate_page_speed(url)
browser = Watir::Browser.new :phantomjs
start = Time.now
browser.goto url
finish = Time.now
self.speed = finish - start
end
end
テストは次のとおりです。
describe Page do
context "calculate_page_speed for Page" do
let(:google) { FactoryGirl.create(:page, url: "http://www.google.com") }
it "should set the page speed" do
google.speed.should be_nil
google.calculate_page_speed
google.speed.should_not be_nil
end
end
end
テスト中に呼び出されないように外部サービスを効果的にスタブするにはどうすればよいですか?