Créez un nouveau projet avec PyCharm que l’on pourra appeler essai_tests
, puis ajoutez-y un fichier que vous nommerez mathematiques.py
. Ce fichier contiendra le code suivant :
Pour tester ce code, j’imagine que si les deux conditions suivantes sont remplies : * double(0)
vaut 0
, * double (21)
vaut 42
Ma méthode sera exacte.
On utilise le mot clé assert pour créer notre fonction de test.
Attention : Les fonctions de tests doivent toutes commencer par
test_
.
Ajouter la méthode ci-après à votre fichier :
et exécutez là en fin de programme : test_double()
Si tout s’est passé comme prévu, il ne s’est rien passé. Normal, l’ assert
était vérifié. Changez un des assert
de la fonction test_double
pour que le résultat soit faux (par exemple assert double(0) == 7
). Le programme doit maintenant s’arrêter sur une exception. Chez moi, j’obtiens ça :
Traceback (most recent call last):
File "/Users/francois/Documents/pycharm/essai_tests/mathematiques.py", line 10, in <module>
test_double()
File "/Users/francois/Documents/pycharm/essai_tests/mathematiques.py", line 6, in test_double
assert double(0) == 7
AssertionError
Ainsi, si tout se passe bien, nos tests sont passés, si le programme s’arrête sur une exception de type AssertionError
, nos tests ne correspondent pas à la réalité. Nous sommes en face d’un bug (qu’il faut corriger).
Nous allons demander à l’environnement py.test d’exécuter nos tests. Si ce n’est pas encore fait, Il faut installer le module pytest
(pip3 install pytest
ou via pycharm).
Il nous donnera plus d’informations sur les tests réussis ou échoués (une application normale contient des centaines de tests).
Puis nous allons demander à Pycharm d’exécuter mathematiques.py
à l’aide de notre environnement de test.
Pour cela, créez un environnement d’exécution et créez une configuration pyhton test > py.test
. Ici, les paramètres dont nous aurons besoin sont :
name
, qui donne un nom à notre contexte. Par exemple “mes tests”target
, qui spécifie quel script utiliser. Cliquez tout à droite de ce champ sur un petit bouton avec …
puis choisissez le fichier mathematiques.py
Une fois ceci configuré, cliquez sur le bouton OK
.
Un nouvel environnement de tests est créé dans le menu run
. Exécutez le. Vous devriez voir une nouvelle fenêtre en bas de l’écran PyCharm apparaître et vos tests s’exécuter. Si tout s’est bien passé, une barre verte doit apparaître.
Pour finir cette partie :
assert
).super ! Pour exécuter les tests ils suffit maintenant de cliquer sur un bouton.
Placez la fonction de test (et son exécution) dans un fichier que vous nommerez test_mathematiques.py
.
Faites en sorte qu’il s’exécute sans problème (attention aux import
).
On séparera toujours les tests du code. Tout fichier de test commence par
test_
.
Dans le module d’exécution de test, vous pouvez maintenant donnez le répertoire de votre projet comme source de tests. Pytest prendra automatiquement tous les fichiers qui commencent par test_
comme fichiers de tests et à l’interieurs de ceux ci les fonctions qui commencent par test_
comme des tests. Ceci vous permet d’exécuter en un click tous les tests de votre projet répartis en plusieurs fichiers de tests.
La bibliothèque http://pytest.org peut directement s’exécuter depuis le terminal. En supposant que votre fichier de test s’appelle test_mathematiques.py
et que vous vous trouviez dans le bon répertoire, la commande : python3 -m pytest test_aide_mathematiques.py
va exécuter vos tests, comme vous le feriez depuis PyCharm.