Contenu du cours
Concepts Avancés de Python
Concepts Avancés de Python
Paramétrisation des Tests
Les tests paramétrés sont cruciaux pour améliorer la couverture des tests sans écrire de nombreuses fonctions de test pour des scénarios qui ne diffèrent que par leurs entrées et sorties attendues. Cette approche permet non seulement de gagner du temps mais aussi d'augmenter la clarté et la maintenabilité des suites de tests en :
- Réduisant la duplication de code et le potentiel d'erreurs dans le code de test ;
- Permettant l'ajout facile de nouveaux cas de test en ajoutant simplement des paramètres ;
- Facilitant des tests complets sur une large gamme d'entrées.
Considérons une fonction simple qui calcule la moyenne de deux nombres. Il peut y avoir une erreur logique si l'on oublie de mettre des parenthèses. Nous utiliserons @pytest.mark.parametrize
pour tester cette fonction avec plusieurs paires de nombres.
Cet exemple démontre comment exécuter test_calculate_average avec trois ensembles différents de nombres, en vérifiant si la fonction calcule correctement leur moyenne.
Syntaxe avec id
Le paramètre id
est utilisé pour attribuer un identifiant à chaque ensemble d'entrées, ce qui aide à identifier plus facilement les tests dans le résultat du test :
L'utilisation de pytest.param
permet un contrôle plus granulaire sur chaque cas de test, y compris la définition d'ID individuels directement.
Syntaxe avec ids
Vous pouvez également fournir un ID unique pour chaque cas de test en utilisant ids
, ce qui rend les rapports de test plus lisibles :
Dans ce code, chaque ensemble de paramètres a un ID associé qui décrit le cas de test, qui apparaîtra dans le résultat du test.
Voici à quoi pourrait ressembler la sortie :
1. Considérez une fonction qui multiplie deux nombres. Complétez le cas de test en remplissant les parties manquantes :
2. Quel est le principal avantage de spécifier des identifiants en utilisant id
ou ids
dans @pytest.mark.parametrize
?
Merci pour vos commentaires !