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