Coder Social home page Coder Social logo

Comments (1)

benoit-bremaud avatar benoit-bremaud commented on July 28, 2024

Plan pour les Tests Avancés avec Postman

1. Créer un Environnement Postman

  • Définir les Variables d'Environnement
    • Accédez à l'onglet "Environments" dans Postman et créez un nouvel environnement.
    • Ajoutez les variables suivantes :
      • baseUrl: URL de base de votre API (ex. : http://localhost:5000/api)
      • authToken: Token d'authentification (laissez la valeur vide pour le moment)
      • eventId: ID de l'événement à tester (laissez la valeur vide pour le moment)
      • userId: ID de l'utilisateur à tester (laissez la valeur vide pour le moment)

2. Créer une Collection Postman

  • Créer une Nouvelle Collection

    • Cliquez sur "New" -> "Collection" et nommez-la (ex. : HappiHub API Tests).
  • Ajouter une Documentation de Collection

    • Ajoutez une description générale de votre API et des objectifs de la collection.

3. Configurer les Requêtes de Test

  • Requête pour Authentifier l'Utilisateur

    • Méthode : POST
    • URL : {{baseUrl}}/auth/login
    • Body : (format JSON, exemple) :
      {
          "email": "[email protected]",
          "password": "password123"
      }
    • Tests :
      const response = pm.response.json();
      pm.environment.set('authToken', response.token);
  • Requête pour Récupérer un Événement

    • Méthode : GET
    • URL : {{baseUrl}}/events/{{eventId}}
    • Headers :
      • Authorization: Bearer {{authToken}}
  • Requête pour Ajouter un Utilisateur aux Participants

    • Méthode : PATCH
    • URL : {{baseUrl}}/events/{{eventId}}/attendees
    • Headers :
      • Authorization: Bearer {{authToken}}
    • Body : (format JSON, exemple) :
      {
          "userId": "{{userId}}"
      }
    • Tests :
      pm.test("Status code is 200", function () {
          pm.response.to.have.status(200);
      });
      
      pm.test("User added to event attendees", function () {
          const response = pm.response.json();
          pm.expect(response.message).to.eql("User added to event attendees");
      });

4. Ajouter des Tests Automatisés

  • Vérifier les Réponses

    • Pour chaque requête, ajoutez des tests pour vérifier les réponses :
      • Status Code : Vérifiez que le code de statut est correct (200 pour une requête réussie, 404 pour une ressource non trouvée, etc.).
      • Body Content : Vérifiez que le contenu de la réponse est correct (ex. : message de confirmation, structure des données).
  • Vérifier les Scénarios d'Erreur

    • Ajoutez des tests pour les scénarios d'erreur :
      • Utilisateur déjà participant : Vérifiez que le message d'erreur est correct si l'utilisateur est déjà participant.
      • Événement non trouvé : Vérifiez que le message d'erreur est correct si l'événement n'existe pas.
      • Utilisateur non trouvé : Vérifiez que le message d'erreur est correct si l'utilisateur n'existe pas.

5. Gérer la Documentation Dynamique

  • Utiliser des Descriptions Détaillées

    • Pour chaque requête, ajoutez des descriptions détaillées :
      • Objectif de la Requête : Expliquez ce que fait la requête.
      • Paramètres : Décrivez les paramètres de la requête (URL, headers, body).
      • Exemples de Réponse : Ajoutez des exemples de réponses réussies et d'erreurs.
  • Générer la Documentation API

    • Utilisez Postman pour générer automatiquement la documentation API à partir de la collection :
      • Accédez à la collection -> Cliquez sur "View in web" -> Utilisez "Generate documentation".

6. Exécution des Tests et Mise à Jour de la Documentation

  • Exécuter les Tests

    • Utilisez l'onglet "Runner" de Postman pour exécuter l'ensemble des tests de la collection.
    • Vérifiez les résultats des tests pour vous assurer que toutes les requêtes fonctionnent comme prévu.
  • Mettre à Jour la Documentation

    • Après avoir validé les tests, mettez à jour la documentation générée pour refléter les changements et les nouveaux tests.

Intégration avec GitHub Actions

Pour automatiser l'exécution des tests et la mise à jour de la documentation, vous pouvez utiliser GitHub Actions :

Configuration de GitHub Actions

  • Utiliser newman pour exécuter des collections Postman

    • Installez newman globalement si ce n'est pas déjà fait :
      npm install -g newman
  • Ajouter un script d'exécution des tests dans votre package.json

    • Ouvrez package.json et ajoutez un script pour exécuter les tests Postman :
      "scripts": {
        "test:postman": "newman run path/to/HappiHub_API_Tests.postman_collection.json -e path/to/MERN_Project_Environment.postman_environment.json"
      }
  • Configurer GitHub Actions pour les tests automatiques

    • Créez un fichier .github/workflows/postman-tests.yml :
      name: Run Postman Tests
      
      on:
        push:
          branches:
            - main
      
      jobs:
        postman-tests:
          runs-on: ubuntu-latest
      
          steps:
            - name: Checkout code
              uses: actions/checkout@v2
      
            - name: Setup Node.js
              uses: actions/setup-node@v2
              with:
                node-version: '14'
      
            - name: Install dependencies
              run: npm install
      
            - name: Run Postman tests
              run: npm run test:postman

Exemple de procédure de test avec Postman

  • Ouvrir Postman et sélectionner l'environnement MERN_Project.
  • Assurez-vous que le serveur de votre API est en cours d'exécution.
  • Exécuter la requête Participate in Event avec les bons paramètres.
  • Vérifier les résultats des tests dans l'onglet Tests.
  • Publier la documentation mise à jour si des changements sont apportés.

from happihub.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.