Livrable du Projet 11 du parcours D-A Python d'OpenClassrooms
Plateforme de réservation de places à des compétitions de force pour l'entreprise Güdlft.
L'objectif du projet est de corriger les erreurs et bugs présents dans le projet Python_Testing, ainsi que d'implémenter de nouvelles fonctionnalités. Chaque correction / ajout se trouve sur sa propre branche, et est supporté(e) par une suite de tests via Pytest et Locust.
Windows 10 - Python 3.9.5 - Flask 1.1.2
git clone https://github.com/hmignon/P11_mignon_helene.git
cd P11_mignon_helene
python -m venv env
env\Scripts\activate
pip install -r requirements.txt
git clone https://github.com/hmignon/P11_mignon_helene.git
cd P11_mignon_helene
python3 -m venv env
source env/bin/activate
pip install -r requirements.txt
- Lancer le serveur Flask :
$env:FLASK_APP = "server.py"
flask run
- Pour accéder au site, se rendre sur l'adresse par défaut : http://127.0.0.1:5000/
- Note : Tous les packages nécessaires à l'exécution de ces tests sont inclus dans 'requirements.txt'.
Les tests unitaires et d'intégration sont exécutés grâce à Pytest (version 6.2.5).
Pour effectuer l'ensemble des tests unitaires et d'intégration, entrer la commande :
pytest tests
Le module Coverage (version 6.3.1) est utilisé pour le rapport de couverture des tests. Il s'exécute via la commande :
coverage run -m pytest tests
coverage report
Il est possible d'effectuer un test de performance grâce au module Locust (version 2.7.2). Pour lancer le serveur de test, entrer la commande :
locust tests/performance_tests/locustfile.py
Se rendre sur l'adresse http://localhost:8089 et entrer les options souhaitées, avec pour 'host' l'adresse par défaut du site (http://127.0.0.1:5000/).
Les captures d'écran des derniers rapports de tests sont disponibles dans le dossier 'reports'.
-
Rapport pytest (tous les tests réussis)
-
Rapport de couverture (100% de couverture)
-
Rapport de performances locust (6 utilisateurs, 1 par seconde)