unittest est un framework de test unitaires, c'est une implémentation Python des frameworks de type xUnit inspirés de SUnit(Smalltalk's SUnit), conçu par Kent Beck in 1998 pour le langage orienté objet Smalltalk.
test_
unittest.TestCase
test
. Cette convention permet au runner d'identifier les méthodes de test.import unittest
On importe le module pour lequel on souhaite tester une fonction ou méthode:
from mon_module import fonction_a_tester as fonction_a_tester
On crée une classe de test elle doit impérativement hériter d'unittest.TestCase
Les méthodes usuelles:
assertEqual() | Vérifier que la valeur retournée est identique à celle attendue |
---|---|
assertTrue() | La valeur retournée doit être Vrai |
assertFalse() | La valeur retournée doit être Faux |
assertRaises() | Vérifie la levée d'une exception spécifique |
Plusieurs façon de démarrer les tests:
# Retrouve tous les fichier test_* et les exécute 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'appel # de la méthode unittest.main() dans le script python test_file.py