Trilha Júnior Trilha

Testes: WebMock e VCR

O curso trata de como evitar que testes façam chamadas HTTP ao vivo, usando um serviço de saída deste app como exemplo. Ele explica por que chamadas de rede deixam a suíte instável e lenta. Apresenta o stub_request, o to_return e o disable_net_connect! do WebMock, além dos cassetes e modos de gravação do VCR. Lê o Partners::FetchSiteIconService e o helper fake_http que o spec dele passa pelo argumento nomeado http:. Mostra também como o modo de teste do OmniAuth pula a troca de token do GitHub e fecha com um desafio de registro de stubs em Ruby puro.

O que você vai aprender

  • ✓Por que chamadas de rede ao vivo tornam os testes pouco confiáveis
  • ✓Stub de requisições com stub_request, with e to_return do WebMock
  • ✓Fazer requisições sem stub falharem com disable_net_connect!
  • ✓Gravar e repetir HTTP com cassetes e modos de gravação do VCR
  • ✓Simular o Net::HTTP por uma costura de injeção de dependência
  • ✓Como o modo de teste do OmniAuth substitui a troca de token do GitHub nos specs
Prévia grátis · Aula 1 3 min de leitura

Por que um teste que toca a rede é um teste em que não dá para confiar

O app/services/partners/fetch_site_icon_service.rb, que está no ar neste app hoje, faz algo que nenhum dos cursos de testes anteriores tocou. Ele abre uma conexão Net::HTTP com o site de um parceiro, baixa o HTML, procura um link de ícone e baixa esse ícone também.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...