Simplificando seus testes com os Shoulda Matchers
Criado por Ana Schwendler, @anaschwendler
Traduzido por Frankyston Lins, @frankyston
Este guia pressupõe que você já tenha criado um aplicativo Rails Girls seguindo o guia de desenvolvimento. O tutorial RSpec por este guia e o tutorial de comentários este guia
Shoulda Matchers é uma gem de teste Ruby, que fornece linhas de comandos compatíveis com RSpec e Minitest que testam a funcionalidade comum do Rails. Esses testes seriam, de outro modo, muito mais longos, mais complexos e propensos a erros.
INSTRUTOR(A): Fale sobre testes e Desenvolvimento Orientado a Comportamento.
1. Adicione a gem Shoulda Matchers
Abra seu Gemfile
e adicione esta linha ao grupo :test
acima da tag end:
e execute
para instalar a gem.
INSTRUTOR(A): Fale sobre ‘googlear’ a saída do terminal.
2. Ajuste seu rails_helper.rb
No nosso caso, estaremos usando o RSpec para testar nosso projeto, então precisamos dizer ao nosso rails_helper.rb
que estamos usando o Shoulda Matchers:
Coloque acima da tag end (verifique o recuo):
INSTRUTOR(A): Fale sobre porque estamos ajustando a gem dentro de rails_helper.rb
.
No seu terminal execute
Deve mostrar que o nosso teste está funcionando.
3. Testando!
É bem simples testar usando o Shoulda Matchers. Para o nosso primeiro teste já afirmamos que uma ideia tem muitos comentários, no Comentários para o tutorial Rails Girls App
Para testar se isso está funcionando corretamente, podemos adicionar as linhas abaixo ao nosso spec/lib/idea_spec.rb
, acima do primeiro teste que criamos:
Este é um teste de associação.
INSTRUTOR(A): Fale sobre testes de associação.
4. Desenvolvimento Orientado a Testes
INSTRUTOR(A): Fale sobre o TDD e como começamos a adicionar recursos ao nosso aplicativo testando-o primeiro.
Outro recurso que podemos adicionar ao nosso aplicativo é criar ideias sempre nomeadas. Como poderíamos fazer isso? Vamos começar dizendo que as ideias sempre devem ter um nome.
Vamos começar criando um teste para isso. Podemos fazer isso adicionando as seguintes linhas ao nosso spec/lib/idea_spec.rb
:
adicione-o abaixo do nosso teste de associação.
Depois disso, execute no seu terminal
Deve nos dar que não estamos validando adequadamente (e realmente não estamos). Então, para validar isso, precisamos adicionar as seguintes linhas ao nosso modelo, para que possamos validar a presença do nome em nossa Ideia.
adicione-o abaixo da nossa declaração has_many.
agora volte ao seu terminal e execute
Deve dar o resultado positivo.
5. Faça isso você mesmo!
Você pode continuar este tutorial fazendo um teste para validar a presença de uma descrição?
Você consegue imaginar outros testes para fazer?
Feliz testes!
Outros Guias
- Handy cheatsheet for Ruby, Rails, console etc.
- Guia 1: Tutorial de Instalação para Rails Girls
- Guia 2: Tutorial para criação da app Rails Girls
- Guia 3: Como enviar para o GitHub
- Guia 4: Colocando seu app online em…
- Guia 5: Funcionalidades de uma área de comentários para a app Rails Girls
- Guia 6: Adicione design à sua aplicação com HTML e CSS
- Guia 7: Thumbnails em listas de ideas
- Guia 8: Autenticação (para usuários) com Devise
- Guia 9: Adicionando Gravatar para a aplicação
- Guia 10: Melhorando seu design da sua aplicação com HTML e CSS
- Guia 11: Continuous Deployment
- Guia 12: Construindo um aplicativo de votação em Sinatra
- Guia 13: Construa um diário em Ruby on Rails
- Guia 14: Adicione back-end ao seu aplicativo (páginas de administração)
- Guia 15: Acesse explicações adicionais do app Rails Girls