Wird die writer.close()
-Methode innerhalb des finally { }
Blocks auf einem Junit-Assertionsfehler ausgeführt?Wird der "finally" -Block auch ausgelöst, nachdem ein Junit-Test einen Assertion Error aus dem "try" -Block geworfen hat?
Angenommen, den folgenden Code:
@Test
public void testWriter() {
try {
writer.open();
final List<MyBean> myBeans = new ArrayList<ProfileBean>();
/** Add 2 beans to the myBeans List here. **/
final int beansWritten = writer.writeBeans(myBeans);
// Say this assertion error below is triggered
org.junit.Assert.assertEquals("Wrong number of beans written.", -1, profilesWritten);
} finally {
writer.close(); // will this block run?
}
}
wird nun der finally()
Block laufen wie eine normale Strömung?
Ja, es sollte ausgeführt werden. –
möglich Duplikat von [Understanding versuchen Fang endlich mit der Rückkehr] (http://stackoverflow.com/questions/26658853/understanding-try-catch-finally-with-return) – StackFlowed
Sorry, ich verstehe den klassischen Versuch, fangen und schließlich fließen . Diese Frage ist im Sinne des zugehörigen Junit-Testablaufs unterschiedlich. –