Formation Tests - mai 2021
Bruno Mermet
Université du Havre & Laboratoire GREYC
I. Écrire des tests pertinents
- Support
- Vidéo
- Mise en œuvre du TDD sur le problème du triangle
- Couverture de code
II. Utiliser les tests pour le travail en autonomie
- Support
- Vidéo
- Fichiers du cours
- Partie Tests utiles
- Partie Utilisation du TDD
- Partie Cas de test compilés
- micropytest.py
- Ce fichier permet d'exécuter des cas de test dans des fichiers compilés
- Un résumé est produit groupant les tests par catégorie, la catégorie d'un test étant définie par le message d'erreur associé à l'assertion dans le cas de test
- Partie Proposer une correction pour éviter les blocages (version améliorée par rapport à ce qui est présenté dans le cours)
- aide.py
- Ce fichier doit être inclus par l'élève dans ses fichiers. Si le nom du module contenant la correction n'est pas
correction
, il faut appeler la fonction aide.init_aide(nom_module_correction)
- La variable
prefixe
peut être modifiée pour éviter que des élèves ne trichent en appelant directement les fonctions de la correction
- C'est une version compilée de ce fichier qu'il faut donner aux élèves
- micropytest.py
- Version modifiée pour utiliser la correction si nécessaire
- Modifier éventuellement l'initialisation du module aide en fonction du nom du fichier avec les corrections
- Donner une version compilée aux élèves
- Outre un bilan sur les tests, la liste des fonctions de la correction utilisées est produit
- caller.py (remplace la fonction
call
des fichiers de correction présentée dans le cours)
- À inclure dans le fichier avec la correction
- À initialiser avec le nom du module élève, et éventuellement le nom du module correction
- Donner une version compilée aux élèves
- calculs.py
- Exemple de fichier élève
- Il faut importer le module avec la correction
- Il faut importer le module aide, et éventuellement appeler
aide.init_aide(nom_module_correction
) si la correction n'est pas donnée dans un module appelé correction
- Si un élève doit utiliser une fonction qu'il n'a pas réussi/pas encore implanté, il doit utiliser la fonction
appelle
du module aide
en lui passant en paramètres :
- le nom de la fonction qu'il devrait avoir défini
- la liste des paramètres attendus (sous la forme d'une liste)
- Plusieurs versions de la fonction calc sont proposées, et il est possible de changer l'affectation à la variable
calc
pour exécuter les tests dans différentes situations
- correction.py
- Exemple de correction
- Il faut importer le module de l'élève
- Il faut importer le module
caller
et l'initialiser avec le nom du module de l'élève (et éventuellement le nom du module de la correction)
- Tout appel de fonction doit passer par la fonction
call
du module caller
, en passant en paramètre le nom de la fonction et la liste des paramètres attendus sous forme de liste
- Toutes les fonctions doivent être préfixées par le préfixe défini dans
aide.py
- Seule une version compilée doit être fournie aux élèves
- test_corr.py
- Exemple de fichier de test
- Partie Brouillage