Economize tempo e mantenha o foco ao rodar seus testes
Testar é bom. Esperar os testes rodarem, não. Quando um teste específico falha, o ideal é rodar apenas esse teste e não toda a suíte de testes novamente. Depois que esse cara estiver passando, ai sim rodamos tudo, para termos certeza de que nada mais quebrou. Além disso, se você estiver escrevendo testes para uma app Rails, sabe que sempre que você faz rake spec todo o seu banco é recarregado. Ok, legal… mas e se você quiser rodar apenas um arquivo de specs onde tudo é feito com mocks/stubs e não há acesso ao banco? Porque esperar todo o banco ser carregado?
Seguem abaixo algumas dicas para agilizar a execução dos seus testes.
Para o Rspec
Rodar apenas um arquivo (carregando o banco de teste):
rake spec SPEC=[caminho para o arquivo]_spec.rb
Rodar apenas um arquivo (sem carregar o banco, útil por exemplo para rodar specs de controllers/helpers quando utiliza-se mocks/stubs)
spec [caminho para o arquivo]_spec.rb
Rodar apenas um teste específico dentro do seu arquivo (10 é o número da linha onde se encontra o bloco ‘it’ que você quer executar. Funciona de forma idêntica caso você use o comando ’spec’ ao invés de ‘rake’)
rake spec SPEC=[caminho para o arquivo]_spec.rb:10
Para o Cucumber
Rodar apenas um arquivo
rake features FEATURE=features/[seu arquivo].feeature
Rodar apenas um cenário (10 é a linha onde começa a declaração do cenário)
rake features FEATURE=features/[seu arquivo].feature:10



Muito interessante o post.
Uma observação: nas novas versões do cucumber é possível rodar apenas o cenário em questão marcando ele com a tag @wip (work in progress) e chamando rake cucumber:wip.
Nas versões mais antigas isso já era possível com o parâmetro -t.
Exemplo: Marco um cenário com @trabalhando e executo ele com cucumber -t trabalhando
Valeu!
Jefferson Girão
Outubro 7, 2009 em 9:39 pm
É verdade Jefferson, esqueci de citar essa outra forma, obrigado!
cassiomarques
Outubro 7, 2009 em 9:51 pm
No Cucumber, é possível rodar mais de um cenário de um mesmo arquivo:
rake features FEATURE=features/[seu arquivo].feature:10:22
Lucas Catón
Outubro 15, 2009 em 6:17 pm
[...] Economize tempo e mantenha o foco ao rodar seus testes – Cássio Marques (Codificando); [...]
O melhor da semana 18/10 a 24/10 « QualidadeBR
Outubro 25, 2009 em 6:46 am
O Parallel Spec também é uma ótima alternativa para dar uma melhorada na velocidade dos seus testes: http://github.com/grosser/parallel_specs
Funciona bem :-)
Abraço
Thiago Pradi
Outubro 30, 2009 em 8:05 pm
Eu cheguei a tentar usar o parallel spec com postgresql e não estava funcionando legal ainda, mas faz um tempinho já. Vou testar novamente pra ver se melhoraram essa parte, valeu!
cassiomarques
Outubro 30, 2009 em 8:28 pm