Skip to content
outubro 7, 2009 / cassiomarques

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

6 Comentários

Deixe um comentário
  1. Jefferson Girão / out 7 2009 9:39 pm

    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!

    • cassiomarques / out 7 2009 9:51 pm

      É verdade Jefferson, esqueci de citar essa outra forma, obrigado!

  2. Lucas Catón / out 15 2009 6:17 pm

    No Cucumber, é possível rodar mais de um cenário de um mesmo arquivo:

    rake features FEATURE=features/[seu arquivo].feature:10:22

  3. Thiago Pradi / out 30 2009 8:05 pm

    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

    • cassiomarques / out 30 2009 8:28 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!

Trackbacks

  1. O melhor da semana 18/10 a 24/10 « QualidadeBR

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: