Artigo do Ronaldo: Testes em Rails
|
|
http://rubyonbr.org/articles/2007/02/10/testes-em-rails/ O Ronaldo esse mês dá uma palhinha sobre testes automatizados no Rails. A introdução é direta e com muitos códigos de exemplo pra nerd nenhum botar defeito. Agora, não tem desculpa para não começar a pensar em testes :) |
|
|
Ronaldo, Parabéns pelo artigo! Na parte de testes unitários, como o que você mostrou, uma ferramenta que tem sido de vital importância para mim é o Mocha , que permite criar mock objects facilmente. Outra ferramenta que uso é o rcov que faz análise de cobertura do código e, portanto, indica as partes do código que estão cobertas por testes. No projeto em que estou trabalhando no momento, tivemos o cuidado de começar desde o início com muitos testes (de fato, temos duas vezes mais código de teste do que de produção). Para mantermos o número de testes elevado, introduzimos um mecanismo no nosso script de integração que executa o rcov e extrai o percentual de cobertura. Atualmente ele é de 100%, então, para que isso seja mantido, o script de integração impede que commits sejam feitos caso o percentual tenha baixado devido à introdução de algum código sem testes. Finalmente, na área de testes de aceitação, uma ferramenta que estamos usando muito é o Selenium . É excelente e funciona muito bem com Rails, por conta do plugin Selenium on Rails . Vale muito a pena dar uma olhada e usar. A propósito, é bom olhar também o Selenium IDE , que ajuda na confecção dos testes. Abraços, Vinícius |
|
|
Opa, Vinícius! Tudo bom? Obrigado pelas palavras e pelas adições. Esse artigo tinha a intenção de mostrar de uma maneira bem básica que testes não são o bicho de sete cabeças que muita gente pensa que são. Espero que tenha ajudado alguém. Seria bom ver mais artigos avançados sobre isso na comunidade. Você, que é um dos papas do assunto, poderia nos ajudar com isso. Especialmente com ferramentas como o rcov e o Selenium que você cita. Tenho certeza que o Ronie aprovaria. Hint, hint, nudge, nudge… :-P Grande abraço! |

