Fähigkeiten bats-testing-patterns
📦

bats-testing-patterns

Sicher

Shell-Testing mit dem Bats-Framework meistern

Zuverlässige Shell-Skripte ohne Tests zu schreiben führt zu Produktionsausfällen. Diese Skill vermittelt umfassende Bats-Testmuster zur Validierung von Shell-Skripten mit Unit-Tests, Fixtures und CI/CD-Integration.

Unterstützt: Claude Codex Code(CC)
📊 70 Angemessen
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 "bats-testing-patterns". Erstelle einen Bats-Test, um zu überprüfen, ob mein Backup-Skript die richtigen Dateien erstellt

Erwartetes Ergebnis:

Generierte Bats-Testdatei mit @test-Blöcken zur Validierung der Dateierstellung, Setup-Funktion, die temporäres Testverzeichnis erstellt, Teardown zum Aufräumen der Testdateien und Assertions zur Prüfung von Dateiexistenz und Berechtigungen.

Verwendung von "bats-testing-patterns". Füge Fehlerbehandlungstests für meine Validierungsfunktion hinzu

Erwartetes Ergebnis:

Erstellte Testfälle für fehlende Argumente, ungültige Eingabeformate, Szenarien mit verweigerten Berechtigungen und hilfreiche Fehlermeldungen. Jeder Test verwendet den run-Befehl und prüft Exit-Status und Fehlerausgabe.

Verwendung von "bats-testing-patterns". Richte Test-Fixtures für komplexe Eingabeszenarien ein

Erwartetes Ergebnis:

Implementierte Fixtures-Verzeichnisstruktur mit Beispiel-Eingabedateien, Hilfsfunktion zum Laden von Fixtures im Setup und Vergleichs-Assertions mit diff gegen erwartete Ausgabedateien.

Sicherheitsaudit

Sicher
v5 • 1/21/2026

Static analysis flagged 103 patterns including external commands, filesystem operations, and network references. All findings are false positives from educational code examples teaching Bats testing patterns. The skill contains no executable code, only documentation with test pattern examples. URLs reference legitimate documentation sites (GitHub, readthedocs.io). No security risks identified.

2
Gescannte Dateien
1,721
Analysierte Zeilen
0
befunde
5
Gesamtzahl Audits
Keine Sicherheitsprobleme gefunden
Auditiert von: claude Audit-Verlauf anzeigen →

Qualitätsbewertung

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

Was du bauen kannst

DevOps-Engineer testet Deployment-Skripte

Umfassende Unit-Tests für Deployment-Automatisierungsskripte schreiben, um das Verhalten vor dem Produktions-Rollout zu validieren. Setup, Teardown, Fehlerbehandlung und Grenzfälle testen.

Entwickler implementiert TDD für Shell-Utilities

Test-driven Development-Methodologie auf Shell-Skript-Entwicklung anwenden. Zuerst Tests schreiben, dann Funktionalität implementieren, um Testspezifikationen zu erfüllen.

Site Reliability Engineer validiert Systemskripte

Automatisierte Test-Suites für Systemadministrationsskripte in CI/CD-Pipelines erstellen. Validieren, dass Skripte über verschiedene Umgebungen und Shell-Dialekte hinweg funktionieren.

Probiere diese Prompts

Einfache Bats-Testdatei generieren
Erstelle eine Bats-Testdatei für mein Skript, die das Parsen von Kommandozeilenargumenten und Exit-Codes validiert
Setup- und Teardown-Funktionen hinzufügen
Füge Setup- und Teardown-Funktionen zu meinem Bats-Test hinzu, die temporäre Verzeichnisse erstellen und Test-Fixtures aufräumen
Externe Abhängigkeiten mocken
Zeige mir, wie ich den curl-Befehl in meinen Bats-Tests mocke, damit ich API-Funktionen ohne echte Netzwerkaufrufe testen kann
Tests in CI-Pipeline integrieren
Erstelle einen GitHub Actions Workflow, der meine Bats-Test-Suite bei jedem Pull Request mit TAP-Ausgabeformat ausführt

Bewährte Verfahren

  • Setup- und Teardown-Funktionen verwenden, um isolierte Testumgebungen mit temporären Verzeichnissen zu erstellen, die nach jedem Test aufgeräumt werden
  • Externe Abhängigkeiten und Befehle mocken, um Tests schnell, deterministisch und unabhängig von externen Services oder Systemzuständen zu machen
  • Beschreibende Testnamen schreiben, die klar erklären, was validiert wird, um Testfehler einfacher zu diagnostizieren und zu verstehen

Vermeiden

  • Tests vermeiden, die von spezifischem Systemzustand oder Dateien außerhalb des Testverzeichnisses abhängen, was Tests fragil und nicht portabel macht
  • Teardown-Cleanup nicht überspringen, da übrig gebliebene temporäre Dateien sich anhäufen und Testfehler verursachen oder Speicherplatz füllen können
  • Niemals mehrere nicht zusammenhängende Verhaltensweisen in einem einzelnen Testfall testen, was es schwierig macht zu identifizieren, welche spezifische Funktionalität fehlgeschlagen ist

Häufig gestellte Fragen

Was ist Bats und wann sollte ich es verwenden?
Bats ist ein Testing-Framework für Shell-Skripte, das TAP-Ausgabeformat verwendet. Verwenden Sie es, wenn Sie Shell-Skript-Verhalten mit automatisierten Tests in CI/CD-Pipelines oder während der Entwicklung validieren müssen.
Wie installiere ich Bats auf meinem System?
Installation über Paketmanager: brew install bats-core auf macOS, oder npm install --global bats für Node.js-Umgebungen, oder von GitHub klonen und Installationsskript ausführen.
Kann ich externe Befehle in meinen Tests mocken?
Ja, erstellen Sie Stub-Skripte in einem temporären Verzeichnis, fügen Sie es vor den echten Befehlen zu PATH hinzu, und die Stubs werden anstelle der tatsächlichen externen Befehle aufgerufen.
Wie teste ich Fehlerbedingungen und Fehler?
Verwenden Sie den run-Befehl, um Exit-Status und Ausgabe zu erfassen, dann stellen Sie sicher, dass der Status ungleich null ist und die Ausgabe erwartete Fehlermeldungen für Fehlerszenarien enthält.
Können Bats-Tests parallel ausgeführt werden?
Ja, verwenden Sie das --parallel-Flag mit einer Zahl, um anzugeben, wie viele Tests gleichzeitig ausgeführt werden sollen. Stellen Sie sicher, dass Tests unabhängig sind und isolierte temporäre Verzeichnisse verwenden.
Wie integriere ich Bats in CI/CD-Pipelines?
Installieren Sie Bats in Ihrer CI-Umgebung, führen Sie bats tests mit --tap-Flag für TAP-Ausgabe aus, und konfigurieren Sie Ihr CI-System, um Testergebnisse zu parsen und Builds bei Testfehlern fehlschlagen zu lassen.

Entwicklerdetails

Dateistruktur

📄 SKILL.md