Compétences bats-testing-patterns
📦

bats-testing-patterns

Sûr

Maîtriser les tests shell avec le framework Bats

Écrire des scripts shell fiables sans tests conduit à des échecs en production. Cette compétence vous enseigne des modèles de test Bats complets pour valider les scripts shell avec des tests unitaires, des fixtures et une intégration CI/CD.

Prend en charge: Claude Codex Code(CC)
📊 70 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "bats-testing-patterns". Créer un test Bats pour vérifier que mon script de sauvegarde crée les bons fichiers

Résultat attendu:

Fichier de test Bats généré avec des blocs @test pour la validation de création de fichiers, fonction de configuration créant un répertoire de test temporaire, nettoyage dans teardown des fichiers de test, et assertions vérifiant l'existence et les permissions des fichiers.

Utilisation de "bats-testing-patterns". Ajouter des tests de gestion d'erreurs pour ma fonction de validation

Résultat attendu:

Cas de test créés pour les arguments manquants, les formats d'entrée invalides, les scénarios de permission refusée, et les messages d'erreur utiles. Chaque test utilise la commande run et vérifie le statut de sortie et le message d'erreur.

Utilisation de "bats-testing-patterns". Configurer des fixtures de test pour des scénarios d'entrée complexes

Résultat attendu:

Structure de répertoire de fixtures implémentée avec des fichiers d'entrée d'exemple, fonction d'aide pour charger les fixtures dans la configuration, et assertions de comparaison utilisant diff contre les fichiers de sortie attendus.

Audit de sécurité

Sûr
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
Fichiers analysés
1,721
Lignes analysées
0
résultats
5
Total des audits
Aucun problème de sécurité trouvé

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
29
Communauté
100
Sécurité
87
Conformité aux spécifications

Ce que vous pouvez construire

Ingénieur DevOps testant les scripts de déploiement

Écrire des tests unitaires complets pour les scripts d'automatisation du déploiement afin de valider le comportement avant la mise en production. Tester la configuration, le nettoyage, la gestion des erreurs et les cas limites.

Développeur implémentant le TDD pour les utilitaires shell

Appliquer la méthodologie de développement piloté par les tests au développement de scripts shell. Écrire les tests en premier, puis implémenter la fonctionnalité pour répondre aux spécifications des tests.

Ingénieur SRE validant les scripts système

Créer des suites de tests automatisées pour les scripts d'administration système dans les pipelines CI/CD. Valider que les scripts fonctionnent dans différents environnements et dialectes shell.

Essayez ces prompts

Générer un fichier de test Bats de base
Créer un fichier de test Bats pour mon script qui valide l'analyse des arguments de ligne de commande et les codes de sortie
Ajouter des fonctions de configuration et de nettoyage
Ajouter des fonctions de configuration et de nettoyage à mon test Bats qui créent des répertoires temporaires et nettoient les fixtures de test
Simuler les dépendances externes
Me montrer comment simuler la commande curl dans mes tests Bats afin de pouvoir tester les fonctions API sans vrais appels réseau
Intégrer les tests dans un pipeline CI
Créer un workflow GitHub Actions qui exécute ma suite de tests Bats à chaque pull request avec le format de sortie TAP

Bonnes pratiques

  • Utiliser les fonctions de configuration et de nettoyage pour créer des environnements de test isolés avec des répertoires temporaires qui sont supprimés après chaque test
  • Simuler les dépendances et commandes externes pour rendre les tests rapides, déterministes et indépendants des services externes ou de l'état du système
  • Écrire des noms de tests descriptifs qui expliquent clairement ce qui est validé, rendant les échecs de tests plus faciles à diagnostiquer et comprendre

Éviter

  • Éviter les tests qui dépendent d'un état système spécifique ou de fichiers en dehors du répertoire de test, ce qui rend les tests fragiles et non portables
  • Ne pas sauter le nettoyage dans teardown, car les fichiers temporaires résiduels s'accumulent et peuvent causer des échecs de tests ou remplir l'espace disque
  • Ne jamais tester plusieurs comportements non liés dans un seul cas de test, ce qui rend difficile d'identifier quelle fonctionnalité spécifique a échoué

Foire aux questions

Qu'est-ce que Bats et quand dois-je l'utiliser ?
Bats est un framework de test pour les scripts shell qui utilise le format de sortie TAP. Utilisez-le lorsque vous devez valider le comportement des scripts shell avec des tests automatisés dans les pipelines CI/CD ou pendant le développement.
Comment installer Bats sur mon système ?
Installez via les gestionnaires de paquets : brew install bats-core sur macOS, ou npm install --global bats pour les environnements Node.js, ou clonez depuis GitHub et exécutez le script d'installation.
Puis-je simuler des commandes externes dans mes tests ?
Oui, créez des scripts de substitution dans un répertoire temporaire, ajoutez-le à PATH avant les vraies commandes, et les substitutions seront appelées à la place des commandes externes réelles.
Comment tester les conditions d'erreur et les échecs ?
Utilisez la commande run pour capturer le statut de sortie et la sortie, puis vérifiez que le statut est non nul et que la sortie contient les messages d'erreur attendus pour les scénarios d'échec.
Les tests Bats peuvent-ils s'exécuter en parallèle ?
Oui, utilisez le flag --parallel avec un nombre pour spécifier combien de tests exécuter simultanément. Assurez-vous que les tests sont indépendants et utilisent des répertoires temporaires isolés.
Comment intégrer Bats avec les pipelines CI/CD ?
Installez Bats dans votre environnement CI, exécutez les tests bats avec le flag --tap pour la sortie TAP, et configurez votre système CI pour analyser les résultats des tests et échouer les builds en cas d'échec des tests.

Détails du développeur

Structure de fichiers

📄 SKILL.md