💻 Développement

unit-test-generator

Génère des tests unitaires complets pour tout langage et framework.

⚡ Installation & lancement en 1 commande

Copiez-collez dans votre terminal : le skill s'installe dans ~/.claude/skills et Claude Code se lance directement dessus.

macOS / Linux
curl -fsSL https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.sh | sh -s -- unit-test-generator --launch
Windows (PowerShell)
iex "& { $(iwr -useb https://raw.githubusercontent.com/khalilbenaz/claude-skills-collection/main/install.ps1) } unit-test-generator -Launch"

🚀 Déjà installé ?

claude "/unit-test-generator"

Ou tapez /unit-test-generator dans une session Claude Code, ou décrivez simplement votre besoin — le skill se déclenche automatiquement via le skill-router.

🔑 Déclencheurs automatiques

Le skill s'active automatiquement quand votre demande contient :

test unitaireunit testtester mon codejestxunitpytestmochaJUnitécrire des testscouverture de tests

📦 Installation manuelle

git clone https://github.com/khalilbenaz/claude-skills-collection.git cp -r claude-skills-collection/dev-skills/unit-test-generator ~/.claude/skills/

Source : dev-skills/unit-test-generator

📖 Manuel

Unit Test Generator

Workflow

  1. Analyse du code à tester
    • Identifier toutes les fonctions et méthodes publiques
    • Repérer les classes et leurs responsabilités
    • Cartographier les dépendances (imports, injections)
    • Détecter les side effects (I/O, mutations d'état, appels réseau)
  1. Identification des cas de test
    • Happy path : comportement nominal attendu
    • Edge cases : valeurs limites, null, undefined, chaînes vides
    • Error cases : exceptions, erreurs métier, états invalides
    • Boundary values : min/max, zéro, nombres négatifs, tableaux vides
  1. Setup du framework de test adapté
    • JavaScript/TypeScript : Jest ou Vitest avec ts-jest si nécessaire
    • .NET (C#) : xUnit avec FluentAssertions ou NUnit
    • Python : pytest avec pytest-mock et fixtures
    • Java : JUnit 5 avec Mockito et AssertJ
  1. Création des mocks et stubs
    • Mocker les dépendances externes (repositories, services tiers)
    • Stubber les appels DB, API REST, systèmes de fichiers
    • Utiliser des spy pour vérifier les interactions
    • Configurer les valeurs de retour et les comportements simulés
  1. Écriture des tests avec pattern AAA
    • Arrange : préparer les données, configurer les mocks
    • Act : appeler la méthode/fonction testée
    • Assert : vérifier le résultat, les effets de bord, les appels aux mocks
    • Un seul comportement par test, une seule assertion logique
  1. Tests paramétrés pour les variations de données
    • xUnit : [Theory] + [InlineData] ou [MemberData]
    • pytest : @pytest.mark.parametrize avec liste de tuples
    • Jest/Vitest : it.each ou test.each avec tableau de cas
    • JUnit 5 : @ParameterizedTest + @MethodSource
  1. Vérification de la couverture
    • Lignes couvertes : chaque ligne de code exécutée au moins une fois
    • Branches couvertes : chaque branche if/else, switch testée
    • Conditions booléennes : combinaisons true/false testées
    • Identifier les zones sans couverture et prioriser les tests manquants
  1. Refactoring des tests
    • Appliquer le principe DRY avec des helpers et builders partagés
    • Utiliser des test fixtures pour l'initialisation commune
    • Nommer selon la convention Should_X_When_Y ou méthode_état_résultat
    • Regrouper les tests par classe/module dans des describe/TestClass dédiés

Règles