Maison > développement back-end > Tutoriel Python > Comment tester si une fonction Python génère une exception spécifique ?

Comment tester si une fonction Python génère une exception spécifique ?

Barbara Streisand
Libérer: 2024-11-04 22:13:02
original
431 Les gens l'ont consulté

How to Test if a Python Function Throws a Specific Exception?

Test des fonctions Python pour le lancement d'exceptions

Les tests unitaires en Python impliquent souvent de vérifier le comportement des fonctions dans diverses conditions, y compris l'augmentation des valeurs attendues exceptions. Pour tester si une fonction lève une exception spécifique, on peut utiliser la méthode assertRaises fournie par le module unittest. Cette méthode permet aux développeurs d'affirmer qu'une exception sera déclenchée, faisant échouer le test si l'exception n'est pas levée.

La syntaxe de assertRaises est la suivante :

<code class="python">assertRaises(exception_class, function, *args, **kwargs)</code>
Copier après la connexion

Où :

  • exception_class : la classe d'exception attendue à lever.
  • fonction : la fonction sous test.
  • args et kwargs : arguments et arguments de mots-clés à transmettre à la fonction .

Par exemple, pour tester si une fonction myfunc déclenche une SomeCoolException lorsqu'elle est appelée, on peut écrire un test unitaire comme suit :

<code class="python">import mymod
import unittest

class MyTestCase(unittest.TestCase):
    def test1(self):
        self.assertRaises(SomeCoolException, mymod.myfunc)</code>
Copier après la connexion

Dans ce test, assertRaises est utilisé pour affirmer que myfunc déclenchera une SomeCoolException lorsqu'il sera appelé sans aucun argument. Si myfunc ne déclenche pas l'exception attendue, le test échouera.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal