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

Usando VCR para simular requisições

Usando VCR para simular requisições

47b7b2966a70bb8247f6123e469871e7?s=128

Ana Schwendler

December 03, 2021
Tweet

More Decks by Ana Schwendler

Other Decks in Technology

Transcript

  1. USANDO VCR PARA SIMULAR REQUISIÇÕES

  2. 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
  3. O QUE É UMA SIMULAÇÃO DE TESTE?

  4. 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.”
  5. O QUE É VCR?

  6. 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.”
  7. COMO USAR O VCR?

  8. • 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?
  9. COMO USAR O VCR?

  10. None
  11. EXEMPLOS NA NATUREZA SELVAGEM

  12. EXEMPLOS NA VIDA REAL - ELASTIC SITE SEARCH

  13. EXEMPLOS NA VIDA REAL - ELASTIC SITE SEARCH

  14. BONUS: TIPS & TRICKS

  15. 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
  16. ORGANIZANDO EM PASTAS • Para organizar a pasta de arquivos

    onde ficam as “fitas cassete”, é só adicionar um formato de pasta quando configurar o VCR.
  17. None
  18. None
  19. 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.
  20. tag ↓

  21. tag ↓

  22. HORA DO SHOW!

  23. REFERENCES • https://github.com/anaschwendler/vcr_example • https://dev.to/anaschwendler/usando-vcr-para-simular-requisicoes-2eg1 • https://github.com/vcr/vcr • https://circleci.com/blog/how-to-test-software-part-i-mocking-stubbing-and-con tract-testing/

    • https://fabioperrella.github.io/10_tips_to_help_using_the_VCR_gem_in_your_r uby_test_suite.html
  24. MUITO OBRIGADA! @anaschwendler