Maison  >  Article  >  développement back-end  >  Comment affirmer le lancement d'exceptions dans les fonctions Python à l'aide de « assertRaises » ?

Comment affirmer le lancement d'exceptions dans les fonctions Python à l'aide de « assertRaises » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 21:01:03532parcourir

How to Assert Exception Throwing in Python Functions Using `assertRaises`?

Test des exceptions dans les fonctions Python avec assertions

L'écriture de code robuste implique souvent de gérer les exceptions de manière appropriée. S'assurer que les fonctions génèrent les exceptions attendues est essentiel pour tester leurs capacités de programmation défensive.

Question : Comment puis-je écrire un test unitaire qui vérifie si une fonction Python génère une exception spécifique ?

Réponse : Utilisez la méthode assertRaises du module unittest. Cette méthode prend deux arguments : la classe d'exception attendue et la fonction à appeler. Si la fonction ne parvient pas à lever l'exception attendue sous test, le test échouera.

Exemple :

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

class MyTestCase(unittest.TestCase):
    def test1(self):
        self.assertRaises(SomeCoolException, mymod.myfunc)</code>

Dans cet exemple, la méthode de test test1 affirme que la fonction myfunc du module mymod lève une exception de type SomeCoolException lorsqu'elle est appelée. Le test échoue si l'exception n'est pas levée.

Cette technique est un moyen concis et efficace de vérifier les capacités de gestion des exceptions des fonctions Python, en garantissant qu'elles se comportent comme prévu dans différents scénarios.

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