Teste sua aplicação com RSpec
Criado por Clemens Helm, @clemenshelm e Floor Drees, @floordrees
RSpec é um framework de testes de Ruby que descreve o comportamento da sua aplicação em uma sintaxe que não se parece muito com a de Ruby. Exibe os resultados do teste no seu terminal para que você também teste suas habilidades de leitura.(trocadinho intencional).
COACH: Fale sobre testes e Behavior-Driven Development.
Instale o Rspec
Para começar, vamos instalar o RSpec e todas as suas dependências.
E aí executamos
no diretório do nosso projeto. Isso cria o arquivo spec_helper.rb
na pasta spec e o arquivo de configuração .rspec
.
Rubistas costumam usar os termos ‘teste’ e ‘especificação’ como sinônimos e é por essa razão que você armazenarám seu testes na pasta ‘spec’. Salve o seu teste como idea_spec.rb
(<name_of_spec>_spec.rb
).
Dentro do novo arquivo, escreva:
Em seguida, vamos escrever uma das nossas especificações
No seu terminal, execute
que irá retornar que seu teste está pendente já que este ainda não foi implementado.
COACH: Fale sobre como pesquisar saídas do terminal
Vamos fazer algo a respeito então!
Isso deve mostrar um resultado mais satisfatório.
Refatoração
Você também pode escrever
que tem a aparência bem melhor do que o exemplo anterior, mas ainda existe muita magia envolvida nesse código.
Por enquanto é interessante saber que nós podemos ‘refatorar’ aqueles longos trechos de código em partes menores adquirindo pouco de mais experiência.
COACH: Fale um pouco mais sobre refatoração
Marcando os testes pendentes
Uhu! Uma funcionalidade marota do RSpec é a habilidade de se marcar certos testes como pendentes.
Ao se retirar o do
e end
do código do exemplo, da seguinte forma
você marcará um teste como pendente. Para aplicações maiores, onde você quer atacar um teste por vez, você também pode adicionar a letra x
no começo do teste:
ou usando o termo pending
no seu teste.
Behavior-Driven Development
Normalmente escrevemos esse tipo de teste de uma maneira um pouco diferente. Pensando na aplicação que queremos construir, vamos escrever nossas expectativas e então começar a construir os testes passo a passo, com as especificações em mente.
Primeiramente vamos escrever
e aí então criar um arquivo chamado idea.rb
relativo à classe Idea.
Se você executar o comando rspec spec/lib/idea_spec.rb
no seu terminal, vai ocorrer um erro. Você não deve sentir medo de erros, eles são nossos amigos. :) Os erros do RSpec vão te ajudar a escrever o código necessário para implementar os testes!
Tente escrever testes para os demais items desse tutorial para verificar se você está conseguindo implementar as coisas de maneira correta.
Só um toque.
Seja feliz testando!