Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Paramétrisation des Tests | Cadre Pytest
Concepts Avancés de Python
course content

Contenu du cours

Concepts Avancés de Python

Concepts Avancés de Python

1. Modules et Imports
2. Gestion des Erreurs
3. Gestion des Fichiers
4. Cadre Pytest
5. Cadre Unittest
6. Itérateurs et Générateurs

book
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 ?

Considérez une fonction qui multiplie deux nombres. Complétez le cas de test en remplissant les parties manquantes :

Considérez une fonction qui multiplie deux nombres. Complétez le cas de test en remplissant les parties manquantes :

Sélectionnez la réponse correcte

Quel est le principal avantage de spécifier des identifiants en utilisant `id` ou `ids` dans `@pytest.mark.parametrize` ?

Quel est le principal avantage de spécifier des identifiants en utilisant id ou ids dans @pytest.mark.parametrize ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 4
We're sorry to hear that something went wrong. What happened?
some-alt