Rails: Testando com mais velocidade usando Spork

Estou me esforçando para fazer testes em todas as aplicações que desenvolvo. Uma coisa que me desanimou bastante foi a lentidão para rodar os testes em Rails com RSpec.

Esta lentidão ocorre porque o Rails sobe toda a aplicação a cada vez que rodo o teste. Deste jeito fazer o ciclo “Erro -> Sucesso -> Refactory -> Sucesso” fica bem complicado e tedioso.

Uma pesquisa rápida e sou apresentado ao Spork!

Spork?

Sim. A idéia é bastante simples: rodar um servidor e executar os testes neste servidor sem precisar iniciar a aplicação inteira toda vez que rodar o teste.

O menino suporta os frameworks RSpec, Cucumber e Test_Unit

Mas como usar?

Simples.

Adicione no Gemfile do seu projeto:

gem “spork-rails”

Então atualize as Gems executando na raiz do seu projeto

# bundle install

Deixe o Spork fazer a mágica de atualizar as configurações de inicialização. Ele mesmo se vira para descobrir qual framework de testes você está usando.

# bundle exec spork –bootstrap

Agora basta inicia o servidor do spork

# bundle exec spork

E por fim, passe a executar os seus testes utilizando a opção “-X”. Vou dar o exemplo usando o RSpec:

# bundle exec rspec spec -X

Tadá! Testes rodando rápido e com emoção!

Referencias

  • https://github.com/sporkrb/spork
  • https://github.com/sporkrb/spork-rails

 

High skilled software engineer and generalist, delighted with learning new technologies and new ways to effectively solve problems. Strong analytical skills, fast learner and concise programming style. Skilled with Ruby on Rails, Java and PHP. Experienced with Python, Django, JavaScript, jQuery, HTML5 and CSS. Good knowledge of MySQL and Postgres, concurrency and Project Management. Likes bikes, adventures and travelling.

Leave a Comment

Your email address will not be published. Required fields are marked *

*
*