polyglot-test-agent

Par github · awesome-copilot

Génère des tests unitaires complets et fonctionnels pour n'importe quel langage de programmation à l'aide d'un pipeline multi-agent. À utiliser lorsqu'on vous demande de générer des tests, d'écrire des tests unitaires, d'améliorer la couverture de tests, d'ajouter une couverture de tests, de créer des fichiers de tests ou de tester une base de code. Prend en charge C#, TypeScript, JavaScript, Python, Go, Rust, Java, et plus encore. Orchestre les phases de recherche, de planification et d'implémentation pour produire des tests qui compilent, passent et respectent les conventions du projet.

npx skills add https://github.com/github/awesome-copilot --skill polyglot-test-agent

Skill de Génération de Tests Polyglotte

Un skill basé sur l'IA qui génère des tests unitaires complets et fonctionnels pour n'importe quel langage de programmation en utilisant un pipeline multi-agent coordonné.

Quand Utiliser Ce Skill

Utilisez ce skill quand vous avez besoin de :

  • Générer des tests unitaires pour un projet entier ou des fichiers spécifiques
  • Améliorer la couverture de tests pour des bases de code existantes
  • Créer des fichiers de tests qui suivent les conventions du projet
  • Écrire des tests qui se compilent et réussissent réellement
  • Ajouter des tests pour de nouvelles fonctionnalités ou du code non testé

Fonctionnement

Ce skill coordonne plusieurs agents spécialisés dans un pipeline Research → Plan → Implement :

Aperçu du Pipeline

┌─────────────────────────────────────────────────────────────┐
│                     TEST GENERATOR                          │
│  Coordinates the full pipeline and manages state            │
└─────────────────────┬───────────────────────────────────────┘
                      │
        ┌─────────────┼─────────────┐
        ▼             ▼             ▼
┌───────────┐  ┌───────────┐  ┌───────────────┐
│ RESEARCHER│  │  PLANNER  │  │  IMPLEMENTER  │
│           │  │           │  │               │
│ Analyzes  │  │ Creates   │  │ Writes tests  │
│ codebase  │→ │ phased    │→ │ per phase     │
│           │  │ plan      │  │               │
└───────────┘  └───────────┘  └───────┬───────┘
                                      │
                    ┌─────────┬───────┼───────────┐
                    ▼         ▼       ▼           ▼
              ┌─────────┐ ┌───────┐ ┌───────┐ ┌───────┐
              │ BUILDER │ │TESTER │ │ FIXER │ │LINTER │
              │         │ │       │ │       │ │       │
              │ Compiles│ │ Runs  │ │ Fixes │ │Formats│
              │ code    │ │ tests │ │ errors│ │ code  │
              └─────────┘ └───────┘ └───────┘ └───────┘

Instructions Étape par Étape

Étape 1 : Déterminer la Demande de l'Utilisateur

Assurez-vous de bien comprendre ce que l'utilisateur demande et quel est le périmètre. Quand l'utilisateur n'exprime pas de fortes exigences concernant le style de test, les objectifs de couverture ou les conventions, tirez les directives de unit-test-generation.prompt.md. Ce prompt fournit les meilleures pratiques pour découvrir les conventions, les stratégies de paramétrisation, les objectifs de couverture (viser 80 %) et les motifs spécifiques aux langages.

Étape 2 : Invoquer le Générateur de Tests

Commencez par appeler l'agent polyglot-test-generator avec votre demande de génération de tests :

Generate unit tests for [path or description of what to test], following the [unit-test-generation.prompt.md](unit-test-generation.prompt.md) guidelines

Le Générateur de Tests gère automatiquement l'ensemble du pipeline.

Étape 3 : Phase de Recherche (Automatique)

L'agent polyglot-test-researcher analyse votre base de code pour comprendre :

  • Langage & Framework : Détecte C#, TypeScript, Python, Go, Rust, Java, etc.
  • Framework de Test : Identifie MSTest, xUnit, Jest, pytest, go test, etc.
  • Structure du Projet : Mappe les fichiers sources, les tests existants et les dépendances
  • Commandes de Build : Découvre comment construire et tester le projet

Résultat : .testagent/research.md

Étape 4 : Phase de Planification (Automatique)

L'agent polyglot-test-planner crée un plan d'implémentation structuré :

  • Regroupe les fichiers en phases logiques (2-5 phases typiquement)
  • Priorise par complexité et dépendances
  • Spécifie les cas de test pour chaque fichier
  • Définit les critères de succès par phase

Résultat : .testagent/plan.md

Étape 5 : Phase d'Implémentation (Automatique)

L'agent polyglot-test-implementer exécute chaque phase séquentiellement :

  1. Lire les fichiers source pour comprendre l'API
  2. Écrire les fichiers de tests en suivant les motifs du projet
  3. Construire en utilisant le sous-agent polyglot-test-builder pour vérifier la compilation
  4. Tester en utilisant le sous-agent polyglot-test-tester pour vérifier que les tests passent
  5. Corriger en utilisant le sous-agent polyglot-test-fixer si des erreurs surviennent
  6. Linter en utilisant le sous-agent polyglot-test-linter pour le formatage du code

Chaque phase se termine avant que la suivante ne commence, assurant une progression incrémentale.

Types de Couverture

  • Chemin heureux : Les entrées valides produisent les résultats attendus
  • Cas limites : Valeurs vides, limites, caractères spéciaux
  • Cas d'erreur : Entrées invalides, gestion des valeurs null, exceptions

Gestion d'État

Tout l'état du pipeline est stocké dans le dossier .testagent/ :

Fichier Objectif
.testagent/research.md Résultats de l'analyse de la base de code
.testagent/plan.md Plan d'implémentation par phases
.testagent/status.md Suivi de la progression (optionnel)

Exemples

Exemple 1 : Tests de Projet Complet

Generate unit tests for my Calculator project at C:\src\Calculator

Exemple 2 : Tests de Fichier Spécifique

Generate unit tests for src/services/UserService.ts

Exemple 3 : Couverture Ciblée

Add tests for the authentication module with focus on edge cases

Référence des Agents

Agent Objectif Outils
polyglot-test-generator Coordonne le pipeline runCommands, codebase, editFiles, search, runSubagent
polyglot-test-researcher Analyse la base de code runCommands, codebase, editFiles, search, fetch, runSubagent
polyglot-test-planner Crée le plan de tests codebase, editFiles, search, runSubagent
polyglot-test-implementer Écrit les fichiers de tests runCommands, codebase, editFiles, search, runSubagent
polyglot-test-builder Compile le code runCommands, codebase, search
polyglot-test-tester Exécute les tests runCommands, codebase, search
polyglot-test-fixer Corrige les erreurs runCommands, codebase, editFiles, search
polyglot-test-linter Formate le code runCommands, codebase, search

Prérequis

  • Le projet doit avoir un système de build/test configuré
  • Le framework de test doit être installé (ou installable)
  • VS Code avec l'extension GitHub Copilot

Dépannage

Les tests ne se compilent pas

L'agent polyglot-test-fixer tentera de résoudre les erreurs de compilation. Vérifiez .testagent/plan.md pour la structure attendue des tests.

Les tests échouent

Examinez la sortie des tests et ajustez les attentes des tests. Certains tests peuvent nécessiter un mock des dépendances.

Mauvais framework de test détecté

Spécifiez votre framework préféré dans la demande initiale : "Generate Jest tests for..."

Skills similaires