4
如何使用Rhino Mock模拟WCF服务代理?如何模拟WCF服务?
如何使用Rhino Mock模拟WCF服务代理?如何模拟WCF服务?
创建您的服务,以便它实现一个接口。然后,您可以模拟客户端中的接口,也可以创建接口的虚假实现以用于测试。
我知道这是一个旧帖子,但它是我最近做的事情。在我的情况下,我有一些验收测试与Wcf服务交谈,但我不想使用真实的服务。我确实做了一个blog post就可以了,但这里是低谷。
对于给定对象创建WCF服务的静态类:
public static class MockServiceHostFactory
{
public static ServiceHost GenerateMockServiceHost<TMock>(TMock mock, Uri baseAddress, string endpointAddress)
{
var serviceHost = new ServiceHost(mock, new[] { baseAddress });
serviceHost.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true;
serviceHost.Description.Behaviors.Find<ServiceBehaviorAttribute>().InstanceContextMode = InstanceContextMode.Single;
serviceHost.AddServiceEndpoint(typeof(TMock), new BasicHttpBinding(), endpointAddress);
return serviceHost;
}
}
创建一个模拟,并使用它作为一个WCF服务:
Castle.DynamicProxy.Generators.AttributesToAvoidReplicating.Add<ServiceContractAttribute>();
var myWcfServiceMock = Substitute.For<IMyWcfService>();
var mockServiceHost = MockServiceHostFactory.GenerateMockServiceHost(myWcfServiceMock , new Uri("http://localhost:8001"), "MyService");
mockServiceHost.Open();
...
mockServiceHost.Close();
刚编辑我的问题,我想测试我的WCF代理 – 2009-01-10 17:26:43