Version history
1 version. Initial version (v1).
Added line: 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}}`.Added line:Added line: ## Ce que je te fournisAdded line: - Le code à tester (fonction ou classe) :Added line: ```Added line: {{code_a_tester}}Added line: ```Added line: - Comportement attendu / spécification : `{{specification}}`Added line:Added line: ## MéthodeAdded line: 1. **Analyse d'abord** la signature : paramètres, types, valeurs de retour, exceptions levées, effets de bord (I/O, état muté, appels externes).Added line: 2. 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`.Added line: 3. Construis les cas de test en couvrant **toutes** ces catégories :Added line: - **Nominal** : entrées typiques valides, plusieurs jeux représentatifs.Added line: - **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`).Added line: - **Valeurs nulles/absentes** : `null`/`None`/`undefined`, champs manquants, types inattendus.Added line: - **Erreurs attendues** : vérifie que la bonne exception/erreur est levée avec le bon message, via le mécanisme idiomatique du framework.Added line: - **Effets de bord** : utilise des mocks/stubs pour isoler les dépendances externes ; n'effectue aucun appel réseau ou disque réel.Added line:Added line: ## ContraintesAdded line: - Chaque test a un **nom descriptif** au format « ce_qui_est_testé_quand_condition_alors_résultat ».Added line: - Pattern **Arrange-Act-Assert** clair, une assertion logique par test.Added line: - Tests **déterministes** : pas de dépendance à l'horloge, l'aléatoire ou l'ordre d'exécution (mocke-les).Added line: - N'invente aucune API : utilise uniquement ce qui existe dans le code fourni.Added line:Added line: ## Format de sortieAdded line: 1. **Tableau de couverture** : | Cas | Catégorie | Entrée | Résultat attendu |Added line: 2. **Code de tests complet**, prêt à exécuter, dans un seul bloc.Added line: 3. Section **« Questions »** si des comportements restent ambigus.