Testes serenos com simplicidade

Se você já tentou o Teste de Unidade ou mesmo o Desenvolvimento Orientado a Teste , você já sabe que não é fácil manter a mesma velocidade e ritmo a que está acostumado. Com o teste, é muito fácil se perder gastando seu tempo com tudo mais além do que é importante.

Leia o artigo completo em mrako.com

Pense Simples

A simplicidade raramente é um ponto fraco no código de software. A única coisa importante é atender às necessidades de seus clientes, e quanto mais simples você conseguir, melhor.

Evite perder tempo na preparação de testes complexos ou escrever código clichê desnecessário para fazer seus testes funcionarem.

Falhar cedo

Para obter o máximo dos testes de unidade, é muito importante executar seus testes o tempo todo. Se você não fizer ou não puder executar os testes após cada alteração – é muito provável que você não tenha motivação suficiente para escrevê-los lado a lado com o código do programa real.

Falhe rápido

Se seus testes demorarem para serem executados, você rapidamente encontrará outro grande obstáculo: espera . O objetivo dos testes de unidade é escrever a verificação de forma que o feedback possa ser recebido o mais rápido possível. Se você não limitar o escopo de seus testes de unidade e criar stub ou simular suas interfaces demoradas, o tempo total de execução logo ficará fora de controle. E então você não executará mais os testes.

Navegue rapidamente entre o código e os testes

É natural alternar entre seus testes e o código o tempo todo. Se a troca for complicada ou demorada, você criou mais uma vez um obstáculo desnecessário para um teste tranquilo.

Tente evitar:

  • Usando o mouse para alternar entre o código e os testes
  • Procurando continuamente os testes ou o arquivo de código
  • Escrever todos os testes (ou todo o código) primeiro e somente até então mudar para o código (ou testes)

Auto teste

Eu descobri que o Guard é a melhor ferramenta até agora. É muito fácil de adicionar ao seu projeto e quase tão facilmente configurado. Eu adicionei Guard ao exemplo de numerais romanos .

Para usar o Guard, você precisa se certificar de que instalou o RVM (consulte a Introdução ) e o Bundler . Em seguida, adicione Guard a um Gemfile na raiz do projeto:

group :development do
gem
'guard'
end

Agora que você instalou o Guard e pode criar seu Guardfile . Guardfile para o projeto de exemplo está fazendo o Guard executar RSpec quando ou qualquer outro arquivo `* .rb é atualizado:spec/*_spec.rb

guard "rspec", :version => 2 do
watch
(%r{^spec/.+_spec.rb$})
watch
(%r{^(.+).rb$}) { |m| "spec/#{m[1]}_spec.rb" }
end