Comments (1)
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
).
- Cliquez sur "New" -> "Collection" et nommez-la (ex. :
-
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);
- Méthode :
-
Requête pour Récupérer un Événement
- Méthode :
GET
- URL :
{{baseUrl}}/events/{{eventId}}
- Headers :
Authorization: Bearer {{authToken}}
- Méthode :
-
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"); });
- Méthode :
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).
- Pour chaque requête, ajoutez des tests pour vérifier les réponses :
-
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.
- Ajoutez des tests pour les scénarios d'erreur :
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.
- Pour chaque requête, ajoutez des descriptions détaillées :
-
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".
- Utilisez Postman pour générer automatiquement la documentation API à partir de la collection :
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
- Installez
-
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" }
- Ouvrez
-
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
- Créez un fichier
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)
- `docs/update-api-doc-for-delete-comment-route`
- `refactor/201-middleware-implementation`
- `test/202-create-unit-tests-for-delete-comments-by-user-id`
- `docs/update-api-doc-for-delete-comments-user-route`
- feature: Implement Synchronization of Postman with API_DOCUMENTATION.md
- `test/206-delete-comments-event-id`
- `docs/207-update-api-doc-delete-comments-by-event-id`
- `test/advanced-testing-delete-comments-event`
- `docs/211-joi-validation-guide`
- `docs: Update contributing.md for clarity and environment setup`
- `documentation: Création de la documentation GUIDE_EXPRESS.md`
- Configurer Jest et Supertest pour les tests backend.
- Écrire des tests unitaires pour la route d'inscription.
- Écrire des tests unitaires pour la route de connexion.
- Écrire des tests unitaires pour la route de profil utilisateur.
- ALLEZ PUSH CE PROJET PUTAIINN HOT 1
- test: Implement Unit Test for Password Hashing
- test: Implement Integration Test for Password Hashing in Database
- test: Implement Tests for Edge Cases in Password Hashing and User Data
- test: Implement Performance and Load Testing for User Registration
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from happihub.