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); }
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); }
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!