スキル pytest-recording
🎬

pytest-recording

安全 ⚙️ 外部コマンド🌐 ネットワークアクセス🔑 環境変数

Gravar e reproduzir interações HTTP em testes Python

Testar APIs externas é pouco confiável e lento devido a dependências de rede e limites de taxa. pytest-recording captura interações HTTP como cassettes YAML reutilizáveis para testes rápidos e determinísticos. Use esta skill para simular chamadas de API, filtrar credenciais sensíveis e depurar problemas de configuração do VCR.

対応: Claude Codex Code(CC)
📊 71 十分
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「pytest-recording」を使用しています。 Criar um teste VCR para uma API que requer autenticação Bearer token

期待される結果:

  • Adicione o decorador @pytest.mark.vcr() à sua função de teste
  • Crie o fixture vcr_config para filtrar cabeçalho de autorização
  • Execute o teste com --vcr-record=once para criar o cassette inicial
  • Verifique se o cassette não contém seu token verificando o arquivo YAML
  • Execuções futuras usarão a resposta gravada sem fazer chamadas de API ao vivo

「pytest-recording」を使用しています。 Como atualizo cassettes quando a API muda?

期待される結果:

  • Opção 1: Exclua arquivos de cassettes específicos e re-execute testes com --vcr-record=once
  • Opção 2: Use --vcr-record=rewrite para atualizar todos os cassettes de uma vez
  • Opção 3: Use --vcr-record=new_episodes para adicionar novas respostas mantendo as existentes
  • Revise os cassettes atualizados para garantir que contenham os dados de resposta esperados

セキュリティ監査

安全
v4 • 1/16/2026

This is a documentation-only skill for pytest-recording (VCR.py), a widely-used Python testing library. All 67 static findings are false positives. The 'external commands' are example pytest/shell commands in documentation code blocks, 'hardcoded IP addresses' are localhost examples for configuring VCR ignore_hosts, and 'API keys' are demonstrating how to filter sensitive authentication headers from recordings. The skill teaches security best practices for protecting credentials, not exploiting them.

2
スキャンされたファイル
417
解析された行数
3
検出結果
4
総監査数

リスク要因

⚙️ 外部コマンド (1)
🌐 ネットワークアクセス (1)
🔑 環境変数 (1)
監査者: claude 監査履歴を表示 →

品質スコア

38
アーキテクチャ
100
保守性
87
コンテンツ
31
コミュニティ
100
セキュリティ
91
仕様準拠

作れるもの

Simular chamadas de API externas

Substitua chamadas de API ao vivo por respostas gravadas para execução de testes confiável e rápida sem limites de taxa ou dependências de rede.

Criar testes determinísticos

Garanta que os testes produzam resultados consistentes reproduzindo respostas HTTP exatas, eliminando testes instáveis por mudanças de API.

Testes seguros em CI/CD

Execute testes em pipelines CI/CD sem expor credenciais de API filtrando dados sensíveis de cassettes gravados.

これらのプロンプトを試す

Configuração básica de teste VCR
Converta este teste para usar pytest-recording: [cole o código do teste]. Mostre-me o decorador e as importações necessárias.
Filtrar cabeçalhos sensíveis
Crie um fixture vcr_config que filtra cabeçalhos de autorização e chaves de API para APIs OpenAI e Anthropic.
Depurar problemas de cassette
Meu teste não consegue encontrar o arquivo do cassette. Caminhe comigo pelos passos de depuração incluindo caminhos de arquivos e modos de gravação.
Configuração avançada do VCR
Mostre-me como configurar o VCR para corresponder solicitações apenas por método e caminho, e sanitizar cabeçalhos de resposta antes de gravar.

ベストプラクティス

  • Sempre filtre cabeçalhos de autenticação e chaves de API antes de gravar cassettes
  • Use nomes de testes descritivos pois eles se tornam nomes de arquivos de cassette automaticamente
  • Revise arquivos de cassettes em pull requests para garantir que nenhum segredo seja commitado
  • Exclua e re-grave cassettes periodicamente para capturar mudanças de API cedo

回避

  • Gravar cassettes com credenciais de API reais sem filtrar dados sensíveis
  • Comitar arquivos de cassettes grandes com interações HTTP desnecessárias
  • Usar --vcr-record=all em CI/CD que sobrescreve cassettes funcionando
  • Ignorar conflitos de mesclagem de cassettes em vez de re-gravar corretamente

よくある質問

Por que meu teste ainda está fazendo chamadas de API ao vivo?
Verifique se o VCR está desabilitado com a flag --disable-recording ou se o cassette existe para o nome do seu teste.
Como atualizo cassettes quando as APIs mudam?
Exclua arquivos de cassettes específicos e re-execute testes com --vcr-record=once ou use --vcr-record=rewrite para todos.
Posso usar VCR com testes assíncronos?
Sim, pytest-recording funciona com testes síncronos e assíncronos usando pytest-asyncio padrão.
Onde os arquivos de cassette são armazenados?
Por padrão em tests/cassettes/ organizado por nome do módulo de teste. Você pode personalizar caminhos em vcr_config.
Como filtro cabeçalhos de autenticação personalizados?
Adicione nomes de cabeçalho à lista filter_headers no seu fixture vcr_config, como x-custom-api-key.
O que significa erro de incompatibilidade de solicitação?
O VCR não conseguiu corresponder a solicitação atual a nenhuma interação gravada. Verifique os critérios de match_on em vcr_config.

開発者の詳細

ファイル構成

📄 SKILL.md