@Test
public void invokeFailureReactor() throws Throwable {

  given(this.methodHandler.invoke(any())).willThrow(new IOException("Could Not Decode"));
  ReactorInvocationHandler handler = new ReactorInvocationHandler(this.target,
      Collections.singletonMap(this.method, this.methodHandler), Schedulers.elastic());
  Object result = handler.invoke(this.method, this.methodHandler, new Object[] {});
  assertThat(result).isInstanceOf(Mono.class);
  verifyZeroInteractions(this.methodHandler);
  /* subscribe and execute the method, should result in an error */
  StepVerifier.create((Mono) result)
      .expectError(IOException.class)
      .verify();
  verify(this.methodHandler, times(1)).invoke(any());
}