P
💻DeveloppementIntermediateAll AIs

Automatically Generate Unit Tests with AI

Automatically generate an exhaustive unit test suite covering nominal cases, edge cases, and error cases for any source code.

Paste in your AI

Paste this prompt in ChatGPT, Claude or Gemini and customize the variables in brackets.

Tu es un ingénieur QA senior spécialisé en tests automatisés. Génère une suite complète de tests unitaires pour le code suivant écrit en [LANGAGE_DE_PROGRAMMATION] :

```
[CODE_SOURCE]
```

Contexte du projet : [DESCRIPTION_DU_PROJET]
Framework de test à utiliser : [FRAMEWORK_DE_TEST]

Pour chaque fonction ou méthode présente dans le code, génère des tests couvrant :

1. **Cas nominaux** : comportement attendu avec des entrées valides typiques
2. **Cas limites** : valeurs aux frontières (zéro, chaîne vide, liste vide, valeurs maximales)
3. **Cas d'erreur** : entrées invalides, null/undefined, types incorrects, exceptions attendues
4. **Cas de régression** : scénarios susceptibles de casser lors de refactoring

Pour chaque test :
- Utilise la convention de nommage : `test_<methode>_<scenario>_<resultat_attendu>`
- Applique le pattern AAA (Arrange, Act, Assert) avec des commentaires séparant chaque section
- Ajoute des messages d'assertion explicites décrivant l'échec
- Utilise des fixtures ou des mocks si des dépendances externes sont impliquées

Après les tests, fournis :
- Un tableau récapitulatif du taux de couverture estimé par fonction
- Les cas non testables automatiquement (nécessitant des tests d'intégration)
- Des suggestions pour améliorer la testabilité du code source si nécessaire

Why this prompt works

<p>This prompt transforms AI into an expert QA engineer to produce professional-quality unit tests. By providing your source code and desired test framework, you get a complete suite covering essential scenarios: normal operation, boundary values, and error handling.</p><p>For optimal results, <strong>paste the actual code</strong> rather than a description. Specify the test framework (<strong>pytest</strong>, <strong>Jest</strong>, <strong>JUnit</strong>, <strong>PHPUnit</strong>, etc.) to get directly usable syntax. The AAA pattern (Arrange, Act, Assert) structures each test in a readable and maintainable way.</p><p>Adapt the prompt to your needs: add minimum coverage constraints, request <strong>mocks</strong> for API or database calls, or specify your naming conventions. The final coverage table helps identify uncovered areas and prioritize complementary integration tests.</p>

Use Cases

Quickly generate tests for legacy code without existing coverageCreate a test suite before a major refactoring to prevent regressionsComplete test coverage on critical functions identified by an auditTrain junior developers in testing best practices by showing concrete examples

Expected Output

A complete ready-to-use unit test suite in the specified framework, with explicit naming, AAA pattern, coverage of nominal, edge, and error cases, accompanied by an estimated coverage table and improvement recommendations.

Learn more

Check the full skill on Prompt Guide to master this technique from A to Z.

View on Prompt Guide

📬 Get new prompts every week

Join our newsletter and never miss a prompt.

Similar Prompts

💻DeveloppementIntermediateAll AIs

Optimize Your SQL Queries and Boost Performance

A complete prompt to analyze, diagnose, and optimize your SQL queries with indexing and rewriting recommendations adapted to your database engine.

080
💻DeveloppementAdvancedChatGPT

Legacy Code Refactoring

Safely and incrementally refactor legacy code following SOLID principles and modern best practices.

29109
💻DeveloppementIntermediateClaude

Implement Robust Error Handling in Node.js

Create a professional Node.js error handling architecture with custom error classes, centralized middleware, and monitoring.

3377
💻DeveloppementBeginnerAll AIs

Learn Git Basics for Beginners

Learn Git from scratch with illustrated explanations, concrete examples, a practical workflow, and an essential commands cheatsheet.

1298