Trilha Júnior Trilha

Testes: mocking vs stubbing

Este curso trata do rspec-mocks e da diferença entre stub e mock. Um stub, feito com allow, substitui um valor de retorno e nunca falha. Um mock, feito com expect, faz o teste falhar quando a chamada esperada não acontece. As aulas usam os specs do próprio app. Elas tratam do instance_double, que checa os métodos com stub contra a classe real, e comparam dois specs do CompleteLessonService com escolhas opostas. Um double feito à mão mostra o mecanismo, e um desafio em Ruby fecha o curso.

O que você vai aprender

  • ✓Como um stub com allow(...).to receive(...).and_return(...) substitui um valor de retorno
  • ✓Como um mock com expect(...).to receive(...) faz o teste falhar se a chamada não acontece
  • ✓Como o instance_double checa os métodos com stub contra os métodos de instância da classe real
  • ✓Quando fazer stub de um colaborador e quando testar com objetos reais
  • ✓Como montar à mão um pequeno objeto de stub e mock com method_missing
Prévia grátis · Aula 1 3 min de leitura

O que é o rspec-mocks, e quanto este app já o usa

O rspec-mocks vem junto com o rspec-rails, o framework de testes em que os cursos de testes anteriores já se apoiaram; o bundle show rspec-mocks mostra a versão 3.13.8. Não há nada para instalar neste curso. Ele já roda neste app toda vez que o bundle exec rspec roda.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...