Teste sua aplicação com RSpec
Criado por Clemens Helm, @clemenshelm e Floor Drees, @floordrees
Traduzido por Marina Limeira, @marinalimeira_
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.
COACH: Fale sobre testes e Desenvolvimento Guiado por Comportamento (Behavior Driven Development).
Instale o RSpec
Para quem está iniciando, vamos instalar o RSpec e todas suas dependências.
ou então, adicione ele ao seu Gemfile
Então a gente pode chamar
no diretório do nosso projeto. Isso irá criar spec_helper.rb
no diretório spec, e o arquivo .rspec
.
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’. Salve seus testes como idea_spec.rb
(<nome_do_spec>_spec.rb
).
Dentro desse novo arquivo, escreva:
Depois, vamos descrever uma das nossas especificações
No terminal rode
que irá dizer que seu teste está pendente e ainda não foi implementado.
COACH: Fale sobre pesquisar no google a saida do terminal.
Vamos fazer algo sobre isso!
deve te dar uma saida mais satisfatória.
Refatorando
Você pode também escrever:
o que parece muito melhor, mas existe muita mágica envolvida. Por agora provavelmente é bom saber que a gente pode ‘refatorar’ estes enormes blocos de código em coisas menores, com um pouco mais de experiência.
COACH: Fale sobre refatoramento.
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.
Retirando o do
e o end
do exemplo no corpo do texte, como em
irá marcar os testes como pendentes. Para aplicações maiores, quando você quiser pular um teste por vez, você pode também adicionar um x
na frente do exemplo, fazendo ele parecer como
ou utilizar a palavra pending
no seu exemplo.
Desenvolvimento Guiado por Comportamento (BDD)
Normalmente nós iremos pensar sobre BDD como uma maneira diferente de fazer nossa aplicação. Pense sobre a aplicação que queremos construir, então iremos escrever as nossas expectativas (os nossos testes) e então começar a construir a aplicação passo a passo, com as especificações em mente.
Escrevemos primeiro
e então crie um arquivo chamado idea.rb
introduzindo a classe Idea
rodando rspec spec/lib/idea_spec.rb
no seu terminal antes de ter implementado a classe irá retornar um erro. Felizmente, erros não são algo para se temer. Os erros do RSpec na verdade te ajudam a escrever o código (necessário)! Você sempre irá se preocupar em escrever código suficiente apenas para o teste passar, evitando fazer algo que provavelmente você não irá utilizar depois.
Tente escrever testes para os outros guias para checar que você está implementando TODAS as coisas certas (e necessárias).
Apenas dizendo.
Feliz testes!