in junit-jupiter-engine/src/main/java/org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.java [206:231]
public void after(JupiterEngineExecutionContext context) {
ThrowableCollector throwableCollector = context.getThrowableCollector();
Throwable previousThrowable = throwableCollector.getThrowable();
if (context.beforeAllMethodsExecuted()) {
invokeAfterAllMethods(context);
}
if (context.beforeAllCallbacksExecuted()) {
invokeAfterAllCallbacks(context);
}
if (isPerClassLifecycle(context) && context.getExtensionContext().getTestInstance().isPresent()) {
invokeTestInstancePreDestroyCallbacks(context);
}
// If the previous Throwable was not null when this method was called,
// that means an exception was already thrown either before or during
// the execution of this Node. If an exception was already thrown, any
// later exceptions were added as suppressed exceptions to that original
// exception unless a more severe exception occurred in the meantime.
if (previousThrowable != throwableCollector.getThrowable()) {
throwableCollector.assertEmpty();
}
}