Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Usando VCR para simular requisições

Usando VCR para simular requisições

Ana Schwendler

December 03, 2021
Tweet

More Decks by Ana Schwendler

Other Decks in Technology

Transcript

  1. SUMÁRIO • Introdução • O que é uma simulação de

    teste? • O que é? • Como usar o VCR? • Exemplos na vida real • Bônus: dicas & truques • Hora do Show • Referências
  2. O QUE É UMA SIMULAÇÃO DE TESTE? “Simular testes de

    requisição significa uma versão simulada de um serviço externo ou interno que pode substituir o real, ajudando seus testes a serem executados de forma mais rápida e confiável. Quando sua implementação interage com as propriedades de um objeto, em vez de sua função ou comportamento, uma imitação pode ser usada.”
  3. O QUE É VCR? “Grave as interações HTTP do seu

    conjunto de testes e reproduza-as durante futuras execuções de teste para testes rápidos, determinísticos e precisos.”
  4. • Sempre que você quiser testar uma parte do código

    que requer uma solicitação externa, use o método .use_cassette para afirmar que deseja que o videocassete lide com um "arquivo cassete" • Se não, o VCR cria automaticamente uma "fita cassete" (dessa vez fazendo uma requisição real) baseado na requisição feita no teste. COMO USAR O VCR?
  5. BÔNUS: DICAS & TRUQUES • Há uma opção de configuração

    disponível para filtrar dados sensíveis, evitando que sejam gravados na “fita cassete”. • Se você deseja continuar fazendo requisições reais durante o teste, o videocassete também fornece outros 4 modos de gravação (além de apenas uma vez ou “once”): new_episodes, none, all and record_on_error
  6. ORGANIZANDO EM PASTAS • Para organizar a pasta de arquivos

    onde ficam as “fitas cassete”, é só adicionar um formato de pasta quando configurar o VCR.
  7. ESCONDENDO CREDENCIAIS • Existem várias formas de esconder credenciais usando

    o VCR, no meu time a forma com que decidimos fazer isso foi: • Quando configuramos o VCR, criamos um arquivo chamado vcr.rb, dentro desse arquivo, junto com outras configurações adicionamos o método .filter_sensitive_data, que lê as credenciais a partir das configurações do rails.