13.2. Présentation de romantest.py

Maintenant que nous avons défini entièrement le comportement que nous attendons de nos fonctions de conversion, nous allons faire quelque chose d’un peu inattendu : nous allons écrire une suite de tests qui évalue ces fonctions et s’assure qu’elle se comporte comme nous voulons qu’elles le fassent. Vous avez bien lu, nous allons écrire du code pour tester du code que nous n’avons pas encore écrit.

C’est ce qu’on appelle des tests unitaires (unit test), puisque l’ensemble des deux fonctions de conversion peut être écrit et testé comme une unité, séparée de tout programme plus grand dont elle puisse faire partie plus tard. Python a une bibliothèque pour les tests unitaires, un module nommé tout simplement unittest.

NOTE
unittest est inclus dans Python 2.1 et versions ultérieures. Les utilisateurs de Python 2.0 peuvent le télécharger depuis pyunit.sourceforge.net.

Les tests unitaires sont une partie importante d’une stratégie générale de développement centrée sur les tests. Si vous écrivez des tests unitaires, il est important de les écrire tôt (de préférence avant d’écrire le code qu’ils testent) et de les maintenir à jour au fur et à mesure que le code et les spécifications changent. Les tests unitaires ne remplacent pas les tests fonctionnels ou de système à plus haut niveau, mais ils sont important dans toutes les phases de développement :