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

Usando VCR para simular requisições

Usando VCR para simular requisições

Avatar for Ana Schwendler

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.