Repolode
kevin1024

kevin1024/vcrpy

Uma biblioteca Python que grava interações HTTP feitas durante os testes e as reproduz depois, para que eles rodem offline e de forma determinística.

Estrelas
3,023
Forks
448
Issues abertas
32
Último commit
há 4 dias

O que é?

VCR.py é uma adaptação para Python da biblioteca VCR, originalmente escrita em Ruby. Envolva um teste ou trecho de código em um context manager ou decorator: na primeira execução, a biblioteca grava em um arquivo simples, chamado cassette, todas as interações HTTP feitas por meio das bibliotecas compatíveis. Por padrão, os dados são serializados em YAML. Nas execuções seguintes, ela lê o cassette e retorna as respostas gravadas para as requisições correspondentes, sem acessar a rede.

Assim, os testes deixam de depender de servidores ativos, podem rodar offline, produzir os mesmos resultados todas as vezes e terminar mais rápido. Quando uma API remota muda, basta excluir o cassette e executar os testes novamente para gravar as interações com o novo comportamento. A biblioteca complementar pytest-recording oferece fixtures do pytest para trabalhar com VCR.py.

Recursos principais

  • 01Grava requisições e respostas HTTP em arquivos cassette no formato YAML, por padrão
  • 02Reproduz respostas gravadas para que os testes não façam tráfego real de rede
  • 03Pode ser usada como context manager ou decorator em torno do código de teste
  • 04Permite executar testes offline e de forma determinística
  • 05Pode ser usada com pytest-recording para obter fixtures do pytest

Casos de uso

  • Executar testes de clientes de API sem acesso à rede ou a um servidor de staging ativo
  • Tornar as suítes de testes determinísticas, removendo respostas externas instáveis
  • Acelerar o CI reproduzindo chamadas HTTP gravadas anteriormente
  • Atualizar as respostas de API gravadas quando um serviço remoto muda

Em coleções

Tópicos

Perguntas frequentes

O que é vcrpy?
Uma biblioteca Python que grava interações HTTP feitas durante os testes e as reproduz depois, para que eles rodem offline e de forma determinística. VCR.py é uma adaptação para Python da biblioteca VCR, originalmente escrita em Ruby. Envolva um teste ou trecho de código em um context manager ou decorator: na primeira execução, a biblioteca grava em um arquivo simples, chamado cassette, todas as interações HTTP feitas por meio das bibliotecas compatíveis. Por padrão, os dados são serializados em YAML. Nas execuções seguintes, ela lê o cassette e retorna as respostas gravadas para as requisições correspondentes, sem acessar a rede.
vcrpy é gratuito? Qual é a licença?
vcrpy é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
vcrpy ainda é mantido?
Manutenção ativa. O último commit de vcrpy foi em 3 de nov. de 2026.
Para que posso usar vcrpy?
Executar testes de clientes de API sem acesso à rede ou a um servidor de staging ativo Tornar as suítes de testes determinísticas, removendo respostas externas instáveis Acelerar o CI reproduzindo chamadas HTTP gravadas anteriormente Atualizar as respostas de API gravadas quando um serviço remoto muda
Onde consigo vcrpy?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kevin1024/vcrpy

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados