コード例 #1
0
        public async Task Should_throw_and_call_all_handlers_if_first_handler_fails()
        {
            var handler = new ThrowHandledHandler();

            var sut = new InMemoryCommandBus(new ICommandMiddleware[] { handler });

            await Assert.ThrowsAsync <InvalidOperationException>(async() => await sut.PublishAsync(command));

            Assert.Equal(command, handler.LastCommand);
        }
コード例 #2
0
        public async Task Should_throw_and_call_all_handlers_if_first_handler_fails()
        {
            var handler1 = new ThrowHandledHandler();
            var handler2 = new AfterThrowHandler();

            var sut = new InMemoryCommandBus(new ICommandHandler[] { handler1, handler2 });

            await Assert.ThrowsAsync <InvalidOperationException>(async() => await sut.PublishAsync(command));

            Assert.Equal(command, handler1.LastCommand);
            Assert.IsType <InvalidOperationException>(handler2.LastException);
        }