스킬 pytest-recording
🎬

pytest-recording

안전 ⚙️ 외부 명령어🌐 네트워크 접근🔑 환경 변수

HTTP-Interaktionen in Python-Tests aufzeichnen und wiedergeben

Das Testen externer APIs ist aufgrund von Netzwerkabhängigkeiten und Rate Limits unzuverlässig und langsam. pytest-recording erfasst HTTP-Interaktionen als wiederverwendbare YAML-Kassetten für schnelle, deterministische Tests. Verwenden Sie diese Skill, um API-Aufrufe zu mocken, sensible Zugangsdaten zu filtern und VCR-Konfigurationsprobleme zu debuggen.

지원: Claude Codex Code(CC)
📊 71 적절함
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"pytest-recording" 사용 중입니다. Erstelle einen VCR-Test für eine API, die Bearer-Token-Authentifizierung erfordert

예상 결과:

  • Füge @pytest.mark.vcr() Decorator zu deiner Testfunktion hinzu
  • Erstelle vcr_config-Fixture zum Filtern des Autorisierungs-Headers
  • Führe Test mit --vcr-record=once aus, um initiale Kassette zu erstellen
  • Überprüfe, dass die Kassette dein Token nicht enthält, indem du die YAML-Datei prüfst
  • Zukünftige Durchläufe verwenden die aufgezeichnete Antwort ohne Live-API-Aufrufe

"pytest-recording" 사용 중입니다. Wie aktualisiere ich Kassetten, wenn sich die API ändert?

예상 결과:

  • Option 1: Lösche spezifische Kassetten-Dateien und führe Tests erneut mit --vcr-record=once aus
  • Option 2: Verwende --vcr-record=rewrite, um alle Kassetten auf einmal zu aktualisieren
  • Option 3: Verwende --vcr-record=new_episodes, um neue Antworten hinzuzufügen und bestehende zu behalten
  • Überprüfe aktualisierte Kassetten, um sicherzustellen, dass sie die erwarteten Response-Daten enthalten

보안 감사

안전
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
사양 준수

만들 수 있는 것

Externe API-Aufrufe mocken

Ersetzen Sie Live-API-Aufrufe durch aufgezeichnete Antworten für zuverlässige, schnelle Testausführung ohne Rate Limits oder Netzwerkabhängigkeiten.

Deterministische Tests erstellen

Stellen Sie sicher, dass Tests konsistente Ergebnisse liefern, indem exakte HTTP-Antworten wiedergegeben werden, wodurch flaky Tests durch API-Änderungen eliminiert werden.

Sicheres CI/CD-Testing

Führen Sie Tests in CI/CD-Pipelines aus, ohne API-Zugangsdaten offenzulegen, indem sensible Daten aus aufgezeichneten Kassetten gefiltert werden.

이 프롬프트를 사용해 보세요

Basis-VCR-Test-Setup
Konvertiere diesen Test zur Verwendung von pytest-recording: [Testcode einfügen]. Zeige mir den Decorator und die benötigten Imports.
Sensible Header filtern
Erstelle eine vcr_config-Fixture, die Autorisierungs-Header und API-Keys für OpenAI- und Anthropic-APIs filtert.
Kassetten-Probleme debuggen
Mein Test kann die Kassetten-Datei nicht finden. Führe mich durch die Debugging-Schritte einschließlich Dateipfaden und Aufzeichnungsmodi.
Erweiterte VCR-Konfiguration
Zeige mir, wie man VCR konfiguriert, um Requests nur nach Methode und Pfad zu matchen und Response-Header vor der Aufzeichnung zu bereinigen.

모범 사례

  • Filtern Sie immer Authentifizierungs-Header und API-Keys, bevor Sie Kassetten aufzeichnen
  • Verwenden Sie beschreibende Testnamen, da diese automatisch zu Kassetten-Dateinamen werden
  • Überprüfen Sie Kassetten-Dateien in Pull Requests, um sicherzustellen, dass keine Secrets committet werden
  • Löschen und zeichnen Sie Kassetten regelmäßig neu auf, um API-Änderungen frühzeitig zu erkennen

피하기

  • Kassetten mit echten API-Zugangsdaten aufzeichnen, ohne sensible Daten zu filtern
  • Große Kassetten-Dateien mit unnötigen HTTP-Interaktionen committen
  • Verwendung von --vcr-record=all in CI/CD, was funktionierende Kassetten überschreibt
  • Kassetten-Merge-Konflikte ignorieren, anstatt ordnungsgemäß neu aufzuzeichnen

자주 묻는 질문

Warum macht mein Test immer noch Live-API-Aufrufe?
Prüfen Sie, ob VCR mit dem Flag --disable-recording deaktiviert ist oder ob eine Kassette für Ihren Testnamen existiert.
Wie aktualisiere ich Kassetten, wenn sich APIs ändern?
Löschen Sie spezifische Kassetten-Dateien und führen Sie Tests mit --vcr-record=once erneut aus oder verwenden Sie --vcr-record=rewrite für alle.
Kann ich VCR mit asynchronen Tests verwenden?
Ja, pytest-recording funktioniert sowohl mit synchronen als auch asynchronen Testfunktionen unter Verwendung von Standard-pytest-asyncio.
Wo werden Kassetten-Dateien gespeichert?
Standardmäßig in tests/cassettes/, organisiert nach Testmodulname. Sie können Pfade in vcr_config anpassen.
Wie filtere ich benutzerdefinierte Authentifizierungs-Header?
Fügen Sie Header-Namen zur filter_headers-Liste in Ihrer vcr_config-Fixture hinzu, wie z.B. x-custom-api-key.
Was bedeutet der Request-Mismatch-Fehler?
VCR kann die aktuelle Anfrage keiner aufgezeichneten Interaktion zuordnen. Überprüfen Sie die match_on-Kriterien in vcr_config.

개발자 세부 정보

파일 구조

📄 SKILL.md