Hoje em dia é natural ver projetos que possuem uma suite gigantesca de testes, contando com centenas ou até milhares de testes. Muito bom, porém chega uma hora que você possui uma quantidade tão grande de testes que o feedback para os desenvolvedores começa a demorar, o que pode prejudicar o mesmo e o andamento do projeto.
Visando rodar os testes de forma distribuida, a gem chamada Parallels Specs escrita originalmente por Michael Grosser, tem como intuito utilizar os múltiplos cores de uma máquina para rodar os specs de forma paralela, dividindo assim o processamento e acelerando a execução do teste.
Bechmarks comprovam que ao utilizar o Parallels Specs é possível conseguir um ganho de até 40% na velocidade da sua suite. Isso é exponencial dependendo da quantidade de cores que sua máquina possui. A gem também provê uma forma de você isolar o banco de dados, evitando assim que um teste afete o outro já que você não tem mais controle de seus testes.
Infelizmente o Parallels Spec não consegue paralelizar testes do cucumber, que geralmente, consomem mais recursos, porém existe o testjour que consegue rodar testes do cucumber de forma distribuída.
E você leitor já teve seu feedback prejudicado por conta dos testes unitários? Se sim, como conseguiu resolver esse problema?