Ich habe einige JUnit (4.12) -Test mit der ExpectedException-Funktion eingerichtet, und ich möchte den Test nach der erwarteten Ausnahme fortsetzen. Aber ich sehe nie das Protokoll '3', da die Ausführung nach der Ausnahme zu stoppen scheint.Wie wird der Test nach JUnit ExpectedException fortgesetzt, wenn er ausgelöst wird?
Ist das tatsächlich möglich, und wie?
@Rule
public ExpectedException exception = ExpectedException.none();
@Test
public void testUserAlreadyExists() throws Exception {
log.info("1");
// Create some users
userService.createUser("toto1");
userService.createUser("toto2");
userService.createUser("toto3");
Assert.assertTrue(userService.userExists("toto1"));
Assert.assertTrue(userService.userExists("toto2"));
Assert.assertTrue(userService.userExists("toto3"));
log.info("2");
// Try to create an existing user
exception.expect(AlreadyExistsException.class);
userService.createUser("toto1");
log.info("3");
}
möchten Sie möglicherweise einen solchen Test erneut schreiben, wenn Sie nach dem Auslösen einer Ausnahme etwas ausführen möchten. Wenn Sie etwas anderes testen möchten, sollten Sie sie in zwei verschiedene Tests aufteilen, einen, der die Ausnahme prüft und einen zweiten, der die andere Logik überprüft. –
Mögliche Duplikate von [JUnit weiterhin Dinge nach der erwarteten Ausnahme behaupten] (http://stackoverflow.com/questions/21506079/junit-continue-to-assert-things-after-expected-exception) – Joe