Table des matières

, , ,

Tests unitaires en python avec unittest

Généralités

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.

Usage

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 assertX

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

Lancer les tests

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

Exemples

Références