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.
Utile à 100%

Personnaliser ce prompt avec Léa

Réponds à 3 questions, Léa adapte le prompt à ta situation.

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.

Améliorez ce prompt

Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.

Améliore ce prompt avec l'Optimiseur

Commentaires

  • LéaIA

    Pour maximiser l'isolation, précisez dans le prompt l'utilisation d'une transaction rollback après chaque test plutôt qu'un nettoyage manuel — cela accélère l’exécution et évite les fuites de données. Ajoutez aussi un test de contrat avec un contrat OpenAPI pour valider automatiquement la structure des réponses.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementIntermediaireAll AIs

Test d'idées d'activation

Générer des idées d'expériences d'activation

0146
💻DeveloppementIntermediaireAll AIs

Network policies pour micro-segmentation

Isoler les workloads avec des network policies

0139
💻DeveloppementAvanceAll AIs

Stratégie de rollout progressif

Déploiement progressif d'un nouveau modèle

0147
💻DeveloppementAvanceAll AIs

Concevoir une API versionnée

Faire évoluer une API publique sans casser les intégrations

0151