Maison > Java > javaDidacticiel > Comment puis-je affirmer efficacement les exceptions dans les tests JUnit ?

Comment puis-je affirmer efficacement les exceptions dans les tests JUnit ?

DDD
Libérer: 2024-12-26 22:49:10
original
200 Les gens l'ont consulté

How Can I Efficiently Assert Exceptions in JUnit Tests?

Assertion d'exceptions dans les tests JUnit

Traditionnellement, tester les exceptions dans JUnit impliquait des blocs try-catch détaillés, comme illustré dans le code fourni. Cependant, il existe plusieurs alternatives qui rationalisent ce processus.

JUnit 5 et 4.13

Depuis JUnit 4.13, l'annotation @Test(expected = IndexOutOfBoundsException.class) peut être utilisée pour affirmer qu'une exception spécifique est levée lors de l'exécution de la méthode annotée. Par exemple :

@Test(expected = IndexOutOfBoundsException.class)
public void testIndexOutOfBoundsException() {

    ArrayList emptyList = new ArrayList();
    Object o = emptyList.get(0);

}
Copier après la connexion

AssertJ et Google Truth

AssertJ et Google Truth sont des bibliothèques d'assertions populaires qui fournissent des assertions plus lisibles et plus expressives, y compris celles permettant de tester des exceptions. Par exemple, avec AssertJ :

import static org.assertj.core.api.Assertions.assertThatThrownBy;

@Test
public void testIndexOfBoundsException() {

    ArrayList emptyList = new ArrayList();
    assertThatThrownBy(() -> emptyList.get(0)).isInstanceOf(IndexOutOfBoundsException.class);

}
Copier après la connexion

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