Maison > Java > javaDidacticiel > le corps du texte

Comment affirmer des exceptions dans JUnit 5 à l'aide de Assertions.assertThrows() ?

DDD
Libérer: 2024-11-19 19:04:02
original
757 Les gens l'ont consulté

How to Assert Exceptions in JUnit 5 using Assertions.assertThrows()?

Assertion d'exceptions dans JUnit 5 avec Assertions.assertThrows()

Dans JUnit 5, affirmer qu'une méthode lève une exception peut être obtenu via la méthode Assertions.assertThrows(). Cela fournit un moyen pratique et expressif de tester divers scénarios d'exception, en particulier lorsqu'il s'agit de plusieurs exceptions dans un seul test.

Considérez le cas de test suivant :

import static org.junit.jupiter.api.Assertions.assertThrows;

@Test
void exceptionTesting() {
    MyException thrown = assertThrows(
        MyException.class,
        () -> myObject.doThing(),
        "Expected doThing() to throw, but it didn't"
    );

    assertTrue(thrown.getMessage().contains("Stuff"));
}
Copier après la connexion

Voici comment Assertions.assertThrows () fonctionne :

  1. Type d'exception : Le premier argument de assertThrows() est le type d'exception attendu. Dans ce cas, nous nous attendons à ce que MyException soit levée.
  2. Executable Lambda : Le deuxième argument est une expression lambda représentant le code exécutable testé. Il doit invoquer la méthode qui est censée lever une exception.
  3. Message (facultatif) : le troisième argument (facultatif) vous permet de spécifier un message d'erreur personnalisé en cas d'échec de l'assertion.

Avantages de l'utilisation Assertions.assertThrows() :

  • Concis et lisible : Assertions.assertThrows() simplifie les tests d'exception par rapport à l'utilisation d'une @Rule, rendant vos tests plus compacts et lisibles .
  • Test d'exceptions multiples : Cette méthode vous permet pour tester plusieurs exceptions dans le même scénario de test.
  • Assertions plus propres : au lieu de vérifier manuellement l'exception levée, assertThrows() fournit une manière plus concise et déclarative d'affirmer les conditions d'exception.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal