Melhorando Seus Testes em Ruby com Spork e Guard
Com o decorrer de qualquer projeto a bateria de testes vão crescendo com os testes de unidade, funcionais, integração, aceitação e afins. Além disso criamos diversas configurações das quais carregam bibliotecas auxiliares, inclusive o Rails. Com isso começamos a perceber uma lentidão na hora de rodar os testes. Dado esse problema veremos como melhor nossos testes em performance e facilidade de execução.
Objetivo
Tornar os testes mais rápidos e mais fáceis de serem executados utilizando o Spork e o Guard
Spork
Normalmente em nossas specs, carregamos o famoso spec_helper.rb, pois é nele que ficam declaradas algumas bibliotecas necessárias para rodar os testes como, por exemplo, o Capybara, Database Cleaner, RSpec e o Rails. E todo este carregamento ocorre cada vez que rodamos os testes, o que pode ser muito demorado dependendo do tamanho do projeto.
O Spork basicamente faz todo este carregamento uma única vez em seu próprio servidor, o Distributed object system for Ruby, assim, quando os testes forem executados, tudo já estará carregado poupando um bom tempo.
Para manipular o Spork iremos utilizar a gem guard-spork que faz uma abstração pra gente:
group :development do
gem 'guard-spork', '~> 1.4.0'
end
E então podemos iniciar a sua configuração:
bundle install
guard init spork
...





