Desabilite acesso a URLs reais em seus testes com Fakeweb

Em um dos projetos que estou trabalhando atualmente, a suite de testes começou a demorar a executar, papo de 5 minutos. Então, habilitando a opção de profile do RSpec para identificar quais testes estavam lentos, identifiquei que eram os testes referentes a importação de feeds. Então, o que descobri? Que na verdade, os testes estavam fazendo requisições reais dos feeds. Então, primeiro passo é, desabilitar acesso a URLs reais e nada como o bom e velho Fakeweb para ajudar nessa parte.

Dois passos simples

No Gemfile:

1
gem "fakeweb", :group => :test

E no spec/spec_helper.rb:

1
FakeWeb.allow_net_connect = false

Agora toda a suite roda em 30 segundos. Claro, próximo passo é arrumar os testes que estão quebrando e nesse caso. MOCK NELES!