コード例 #1
0
        public void FaultHappens_WithDefaultChannelProxy()
        {
            var mockService = new Mock<ITestService>();
            mockService.Setup(m => m.TestMethod("good")).Returns("OK");
            mockService.Setup(m => m.TestMethod("bad")).Throws<Exception>();

            var serviceHost = InProcTestFactory.CreateHost<ITestService>(new TestServiceImpl(mockService));

            var proxy = new ChannelFactory<ITestService>(serviceHost.Binding, serviceHost.EndpointAddress).CreateChannel();

            // Will fault the channel
            Assert.That(() => proxy.TestMethod("bad"), Throws.Exception);
            Assert.That(() => proxy.TestMethod("good"), Throws.Exception.TypeOf<CommunicationObjectFaultedException>());
        }
コード例 #2
0
        public void FaultHappens_WithDefaultChannelProxy()
        {
            var service = Substitute.For<ITestService>();

            service
                .TestMethod("good")
                .Returns("OK");

            service
                .TestMethod("bad")
                .Throws<Exception>();

            var host = service.StartHost<ITestService>();

            var proxy = new ChannelFactory<ITestService>(host.Binding, host.EndpointAddress).CreateChannel();

            // Will fault the channel
            Assert.That(() => proxy.TestMethod("bad"), Throws.Exception);
            Assert.That(() => proxy.TestMethod("good"), Throws.Exception.TypeOf<CommunicationObjectFaultedException>());
        }