Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dev:python:unittest:start [2018/05/03 18:41] – yoann | dev:python:unittest:start [2022/07/20 19:51] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ====== Tests unitaires en python avec unittest ====== | ====== Tests unitaires en python avec unittest ====== | ||
| - | On importe le module **unittest** | + | ===== Généralités ===== |
| + | |||
| + | **unittest** est un framework de test unitaires, c'est une implémentation Python des frameworks de type [[https:// | ||
| + | |||
| + | * Runner: Le programme en charge d' | ||
| + | * Test fixture: Aménagement ou initialisation d'un environnement/ | ||
| + | * Test case (cas d' | ||
| + | * Test suite: collection de tests utilisée pour montrer qu'un programme réagit comme prévu dans l' | ||
| + | |||
| + | ===== Usage ===== | ||
| + | |||
| + | |||
| + | * Les fichiers de tests sont des scripts Python dont le nom est préfixés par '' | ||
| + | * On importe le module **unittest** | ||
| + | * Le script de test doit contenir une classe qui dérive de la classe '' | ||
| + | * Les méthodes de tests contenues dans la classe doivent commencer par le mot clé '' | ||
| + | |||
| <code python> | <code python> | ||
| Ligne 15: | Ligne 32: | ||
| </ | </ | ||
| - | On crée une classe de test elle doit impérativement: | + | On crée une classe de test elle doit impérativement |
| - | * Avoir un nom qui commence par **Test** | + | |
| - | * Hériter | + | |
| ===== Les méthodes assertX ===== | ===== Les méthodes assertX ===== | ||
| + | |||
| + | Les méthodes usuelles: | ||
| + | |||
| + | ^ assertEqual() | ||
| + | ^ assertTrue() | ||
| + | ^ assertFalse() | ||
| + | ^ assertRaises() | ||
| ===== Lancer les tests ===== | ===== Lancer les tests ===== | ||
| + | Plusieurs façon de démarrer les tests: | ||
| <code bash> | <code bash> | ||
| + | # Retrouve tous les fichier test_* et les exécute | ||
| python -m unittest discover | python -m unittest discover | ||
| + | |||
| + | # Exécuter un script de test en particulier | ||
| + | python -m unittest test_file.py | ||
| + | |||
| + | # Appeler directement le script, doit contenir l' | ||
| + | # de la méthode unittest.main() dans le script | ||
| + | python test_file.py | ||
| </ | </ | ||
| - | Retrouvera tous les fichier test_* et les executeras | + | |
| + | ===== Exemples ===== | ||
| + | |||
| + | |||
| ===== Références ===== | ===== Références ===== | ||
| * http:// | * http:// | ||
| + | * https:// | ||
| + | * https:// | ||