public void FireAndForget_WhenThrows_DoesntThrowExceptionToCaller() { // The default TaskScheduler doesn't guarantee execution on another thread, // so we might get the exception back here. We catch and log in the interceptor // to avoid that. var instance = new ThrowingFireAndForget(); var proxy = CommandInterceptor.CreateProxy <IThrowingFireAndForget>(instance); proxy.ImmediatelyThrowWithFireAndForget(); Assert.True(true); // Expecting no exception to be thrown. }
public void FireAndForget_WhenThrows_DoesntThrowExceptionToCaller() { // The default TaskScheduler doesn't guarantee execution on another thread, // so we might get the exception back here. We catch and log in the interceptor // to avoid that. var instance = new ThrowingFireAndForget(); var proxy = CommandInterceptor.CreateProxy<IThrowingFireAndForget>(instance); proxy.ImmediatelyThrowWithFireAndForget(); Assert.True(true); // Expecting no exception to be thrown. }