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
Barbara Streisandoriginal
2024-11-04 22:13:02447parcourir

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>

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>

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!

Déclaration:
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