Biblioteca JavaScript para mockar APIs, que intercepta requisições de rede em navegadores e no Node.js para que o código do app permaneça inalterado enquanto testes e desenvolvimento usam respostas simuladas.
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
Jest é um framework de testes para JavaScript com assertions integradas, mocking, testes de snapshot e modo watch interativo.
GoogleTest é o framework de testes e mocks em C++ do Google, com testes no estilo xUnit, assertions abrangentes e GoogleMock.
Toolkit de testes para Go com assertions, mocks e uma estrutura de suites compatível com o runner padrão go test.
Plugin do pytest que executa testes em paralelo em várias CPUs e oferece um modo para repetir testes com falha.
Um plugin do pytest que permite escrever testes como corrotinas e usar await diretamente no código de teste.