Fähigkeiten python-testing-patterns
📦

python-testing-patterns

Sicher ⚙️ Externe Befehle🌐 Netzwerkzugriff🔑 Umgebungsvariablen

Schreiben Sie bessere Python-Tests

Auch verfügbar von: ActiveInferenceInstitute,wshobson

Das Schreiben wartbarer Tests ist eine Herausforderung. Diese Skill bietet umfassende pytest-Muster einschließlich Fixtures, Mocking, Parametrisierung und TDD-Workflows, um Ihnen beim Aufbau zuverlässiger Test-Suiten zu helfen.

Unterstützt: Claude Codex Code(CC)
🥉 72 Bronze
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "python-testing-patterns". Write tests for a calculate_discount function that takes price and discount_percentage, returns discounted price

Erwartetes Ergebnis:

Grundlegende Testdatei mit mehreren Testfällen, die normale Rabatte, Null-Rabatt und ungültige Eingaben abdecken

Verwendung von "python-testing-patterns". Create fixtures for testing a database connection with session scope

Erwartetes Ergebnis:

Fixture-Einrichtung mit korrektem Yield/Teardown-Muster für Datenbank-Ressourcenverwaltung

Verwendung von "python-testing-patterns". Mock HTTP requests to an API client that fetches user data

Erwartetes Ergebnis:

Tests unter Verwendung von patch() zum Mocken von requests.get mit verschiedenen Antwort-Szenarien

Sicherheitsaudit

Sicher
v1 • 2/24/2026

All 87 static findings are false positives. The detected patterns (external_commands, network, env_access) are documentation examples of pytest commands, HTTP mocking patterns, and test fixture configurations - all legitimate testing education content. No actual security threats present.

2
Gescannte Dateien
947
Analysierte Zeilen
3
befunde
1
Gesamtzahl Audits

Risikofaktoren

Erkannte Muster

External Commands DocumentationNetwork Mocking ExamplesTest Fixture Configurations
Auditiert von: claude

Qualitätsbewertung

38
Architektur
100
Wartbarkeit
87
Inhalt
31
Community
100
Sicherheit
100
Spezifikationskonformität

Was du bauen kannst

Einrichtung der Testumgebung für ein neues Python-Projekt

Einrichten einer kompletten Test-Suite für ein neues Python-Projekt mit Fixtures, conftest.py-Konfiguration und CI/CD-Integration

Testabdeckung für Legacy-Code

Hinzufügen von Tests zu vorhandenem ungetestetem Code unter Verwendung von Mocking zur Isolation von Units und Parametrisierung zur Abdeckung von Randfällen

API-Integrationstests

Schreiben von Integrationstests für REST-APIs unter Verwendung von Fixtures für Testdaten und Mocking für externe Service-Aufrufe

Probiere diese Prompts

Erstellung grundlegender Tests
Create pytest tests for a function called [FUNCTION_NAME] that [DESCRIPTION]. Use the AAA pattern.
Fixture-Einrichtung
Create pytest fixtures with [SCOPE] scope to provide [RESOURCE] for tests. Include proper setup and teardown.
Mocken externer Aufrufe
Write tests that mock [EXTERNAL_SERVICE] calls using unittest.mock. Show both patch decorator and context manager approaches.
Parametrisiertes Testen
Create parameterized tests for [FUNCTION] using pytest.mark.parametrize to test [EDGE_CASES].

Bewährte Verfahren

  • Verwenden Sie aussagekräftige Testnamen, die erklären, was getestet wird und welches Verhalten erwartet wird
  • Halten Sie Tests unabhängig mit korrektem Setup/Teardown - kein gemeinsamer Zustand zwischen Tests
  • Befolgen Sie das AAA-Muster: Arrange (Setup), Act (Ausführen), Assert (Überprüfen) klar getrennt

Vermeiden

  • Vermeiden Sie Testnamen wie test_1 oder test_function, die den Testzweck nicht beschreiben
  • Mischen Sie nicht mehrere Assertions in einem Test, wenn diese separate Tests sein könnten
  • Vermeiden Sie das Testen von Implementierungsdetails statt von Verhalten - testen Sie, was der Code tut, nicht wie

Häufig gestellte Fragen

Was ist der Unterschied zwischen Unit-Tests und Integrationstests?
Unit-Tests testen einzelne Funktionen oder Klassen isoliert. Integrationstests testen, wie mehrere Komponenten zusammenarbeiten, wie z.B. das Testen von API-Endpoints mit einer echten Datenbank.
Wie mocke ich eine Funktion, die nicht die requests-Bibliothek verwendet?
Verwenden Sie den unittest.mock.patch Decorator oder Context Manager, um jede Funktion oder Klasse durch ein Mock-Objekt zu ersetzen. Importieren Sie den Funktionspfad als String: @patch('module.function_name').
Was ist Fixture-Scope und wann sollte ich jeden verwenden?
Function Scope (Standard) erstellt eine Fixture für jeden Test. Class Scope einmal pro Test-Klasse. Module Scope einmal pro Modul. Session Scope einmal pro gesamter Test-Session. Verwenden Sie Session/Module für kostenintensive Ressourcen.
Wie teste ich Exceptions mit pytest?
Verwenden Sie pytest.raises() als Context Manager: with pytest.raises(ExpectedException): your_function(). Optional können Sie den match-Parameter übergeben, um die Exception-Nachricht zu überprüfen.
Was ist Test-Driven Development (TDD)?
TDD ist ein Entwicklungsansatz, bei dem Sie Tests vor dem Code schreiben. Zyklus: Schreibenden fehlschlagenden Test (Red), schreiben Sie minimalen Code zum Bestehen (Green), refaktorieren Sie den Code (Refactor). Hilft bei der Sicherstellung testbaren Designs.
Wie führe ich nur Tests aus, die einem Keyword entsprechen?
Verwenden Sie die pytest -k Flagge: pytest -k 'test_name_pattern' führt nur Tests aus, deren Namen dem Muster entsprechen. Verwenden Sie pytest -m marker, um Tests mit spezifischen Markern auszuführen.