Teste sua aplicação com RSpec
Criado por Clemens Helm, @clemenshelm e Floor Drees, @floordrees
Traduzido por Marina Limeira, @marinalimeira_
Atualizado por Ana Schwendler, @anaschwendler
Esse guia assume que você já criou a app RailsGirls como mostrado no tutorial para criação da app Rails Girls.
RSpec é um framework para testes em Ruby, que descreve o comportamento da nossa aplicação em uma sintaxe que não se parece muito com Ruby. Ele irá mostrar o resultado dos testes no seu terminal, então você testará suas habilidades de leitura também.
INSTRUTOR(A): Fale sobre testes e Desenvolvimento Guiado por Comportamento (Behavior Driven Development).
1. Adicione a gem RSpec
Abra o seu Gemfile
e adicione esta linha aos grupos:development
e :test
, acima da tag final:
e rode
para instalar a gem.
Em seguida, rode o comando abaixo para gerar as pastas do rspec:
Isso adiciona os seguintes arquivos usados para configuração:
.rspec
spec/spec_helper.rb
spec/rails_helper.rb
2. Crie seu primeiro teste!
Rubystas frequentemente utilizam as palavras ‘teste’ e ‘especificação’ da mesma maneira, e é por isso que você irá armazenar seus testes no diretório ‘specs’. Para fazer isso, execute os seguintes passos:
Vamos criar um teste para o nosso modelo idea
, para fazer isso de maneira elegante em Rails:
- Crie uma pasta
models
na sua pastaspec
, rodando no terminal:
- Salve seu teste como
idea_spec.rb
(<nome_do_modelo> _spec.rb
).
Dentro desse novo arquivo, em nosso primeiro teste, queremos garantir que uma ideia tenha um nome. Para fazer isso, vamos descrever uma de nossas especificações:
No seu terminal rode:
qual será o resultado que seu teste está pendente, pois ainda não está implementado.
INSTRUTOR(A): Fale sobre ‘googlear’ a saída do terminal
Vamos fazer algo sobre isso!
deve gerar uma saída mais adequada.
3. Refatorando
Você pode criar duas ideias, para ter certeza de que nosso projeto está criando ideias da maneira certa:
que testa mais coisas.
INSTRUTOR(A): Fale um pouco sobre a refatoração.
4. Marcando os testes como a fazer
Sim! Listas de coisas a fazer. Maravilhoso. Uma boa funcionalidade do RSpec é a possibilidade de marcar alguns testes como pendente. Em outras palavras, primeiro você pensa sobre o que a implementação deve realizar, em seguida, escreve um teste para verificar se está funcionando.
Vamos criar nosso próximo teste, adicionando as linhas abaixo ao nosso idea_spec.rb
retornará que o teste está pendente.
Você consegue completar este teste? Você consegue pensar em outros testes?
5. Desenvolvimento Guiado por Comportamento (BDD)
INSTRUTOR(A): Fale um pouco sobre Desenvolvimento Guiado por Comportamento (BDD).
Agora você pode criar mais testes sozinho. Sinta-se à vontade para falar com o seu instrutor(a) para fazer isso ou maneiras de criar mais testes.
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
- Testando seu app com RSpec (Você está aqui!)
- CD with Travis-CI
- CD with Codeship
- 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