P
💻DeveloppementIntermediaireChatGPT

Écrire des tests d'intégration pour une API

Créez des tests d'intégration API complets avec setup de base de données, authentification, CRUD et scénarios end-to-end.

Coller dans votre IA

Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.

Tu es un expert en assurance qualité logicielle spécialisé dans les tests d'intégration d'APIs. Je dois créer une suite de tests d'intégration complète pour mon API.

**API à tester :**
- Framework : [EX: Express, Fastify, NestJS, FastAPI]
- Base de données : [EX: PostgreSQL avec Prisma, MongoDB avec Mongoose]
- Authentification : [EX: JWT Bearer token, sessions, API key]
- Endpoints principaux : [LISTER_LES_ENDPOINTS: ex. POST /auth/login, GET /users/:id, POST /orders]

**Stack de test :**
- Framework de test : [EX: Jest avec Supertest, Vitest, Mocha]
- Base de données de test : [EX: base PostgreSQL dédiée, SQLite en mémoire, mock]
- CI : [EX: GitHub Actions, GitLab CI]

Crée une suite de tests d'intégration professionnelle incluant :

1. **Setup et teardown** : configuration de la base de données de test, seeding des fixtures nécessaires, nettoyage entre les tests.
2. **Authentification** : tests du flux complet d'authentification (login, token invalide, token expiré, refresh).
3. **CRUD complet** : tests de chaque endpoint avec cas de succès, validation des données invalides et gestion des erreurs HTTP.
4. **Autorisations** : tests que les endpoints protégés rejettent les requêtes non authentifiées et que les règles de permission sont respectées.
5. **Scénarios end-to-end** : un scénario complet simulant un parcours utilisateur réel (ex: créer un compte → se connecter → créer une ressource → la modifier → la supprimer).
6. **Tests de contrat** : validation que la structure des réponses JSON est conforme à la documentation API.
7. **Configuration CI** : job GitHub Actions pour exécuter les tests avec base de données PostgreSQL en service.

Pourquoi ce prompt fonctionne

<p>Ce prompt aborde les tests d'intégration dans leur dimension la plus difficile : la gestion de l'état de la base de données entre les tests. La stratégie de setup/teardown et de seeding est la clé d'une suite de tests déterministe qui ne produit pas de faux positifs dus à des données résiduelles d'un test précédent.</p><p>Les tests d'autorisation sont souvent négligés dans les suites de tests d'intégration, pourtant ils constituent la couche de sécurité la plus critique : vérifier que les endpoints protégés sont inaccessibles sans token valide, et que les permissions sont correctement appliquées (un utilisateur ne peut pas modifier les données d'un autre).</p><p>La demande de tests de contrat (validation de la structure JSON) est une pratique avancée qui prévient les breaking changes silencieux dans les APIs : si un champ est renommé ou supprimé, le test échoue immédiatement, alertant l'équipe avant que le changement n'atteigne les clients de l'API.</p>

Cas d'usage

Tests d'intégration d'APIs RESTValidation de la sécurité des endpointsPipeline de tests automatisés

Résultat attendu

Suite de tests d'intégration complète avec setup/teardown, tests d'authentification, CRUD, autorisations et configuration CI.

Formez-vous en profondeur

Découvrez le skill complet sur Prompt Guide pour maîtriser cette technique de A à Z.

Voir sur Prompt Guide