@Test
public void run_invokerAndModuleFinishThrow_throwsSagaExecutionExceptions() throws InvocationTargetException, IllegalAccessException {

    // given
    doThrow(ArithmeticException.class).when(invoker).invoke(isA(InvocationContext.class));
    doThrow(NullPointerException.class).when(module).onFinished(any(ExecutionContext.class));
    // when
    catchException(() -> sut.run());
    // then
    SagaExecutionErrorsException exception = caughtException();
    assertThat("Expected two exceptions in resulting one.", exception.getExecutionErrors(), hasSize(2));
    assertThat("Expected two exceptions in resulting one.", exception.getExecutionErrors(), hasItem(instanceOf(NullPointerException.class)));
    assertThat("Expected two exceptions in resulting one.", exception.getExecutionErrors(), hasItem(instanceOf(ArithmeticException.class)));
}