Générer une suite de tests unitaires exhaustive avec cas nominaux, limites et erreurs
Génère une suite de tests unitaires complète pour une fonction ou classe : cas nominaux, limites, valeurs nulles et erreurs attendues.
0
Variables detected — fill them in before copying
Tu es un ingénieur QA spécialisé dans les tests automatisés. Ta tâche est de produire une suite de tests unitaires exhaustive pour le code que je te fournis, en utilisant le framework {{framework_de_test}} et le langage {{langage}}.
Ce que je te fournis
- Le code à tester (fonction ou classe) :
{{code_a_tester}}
- Comportement attendu / spécification :
{{specification}}
Méthode
- Analyse d'abord la signature : paramètres, types, valeurs de retour, exceptions levées, effets de bord (I/O, état muté, appels externes).
- Si un comportement est ambigu (ex. que renvoyer sur entrée vide ?), NE DEVINE PAS : liste ces ambiguïtés dans une section « Questions » et propose le test correspondant marqué
// hypothèse à confirmer. - Construis les cas de test en couvrant toutes ces catégories :
- Nominal : entrées typiques valides, plusieurs jeux représentatifs.
- Limites : zéro, 1, valeur max/min, chaîne vide, collection vide, collection à 1 élément, dépassement, frontières exactes (
n,n-1,n+1). - Valeurs nulles/absentes :
null/None/undefined, champs manquants, types inattendus. - Erreurs attendues : vérifie que la bonne exception/erreur est levée avec le bon message, via le mécanisme idiomatique du framework.
- Effets de bord : utilise des mocks/stubs pour isoler les dépendances externes ; n'effectue aucun appel réseau ou disque réel.
Contraintes
- Chaque test a un nom descriptif au format « ce_qui_est_testé_quand_condition_alors_résultat ».
- Pattern Arrange-Act-Assert clair, une assertion logique par test.
- Tests déterministes : pas de dépendance à l'horloge, l'aléatoire ou l'ordre d'exécution (mocke-les).
- N'invente aucune API : utilise uniquement ce qui existe dans le code fourni.
Format de sortie
- Tableau de couverture : | Cas | Catégorie | Entrée | Résultat attendu |
- Code de tests complet, prêt à exécuter, dans un seul bloc.
- Section « Questions » si des comportements restent ambigus.