我正在尝试遵循这个示例并利用 shim 删除对 WCF 服务调用的外部依赖,该调用是从我正在执行单元测试的方法中调用的。与示例不同,我使用类似于以下的代码即时生成我的 WCF 客户端:
ChannelFactory<IReportBroker> factory = new ChannelFactory<IReportBroker>("ReportBrokerBasicHttpStreamed", new EndpointAddress(this.CurrentSecurityZoneConfigurationManager.ConfigurationSettings[Constants.ConfigurationKeys.ReportBrokerServiceUrl]));
IReportBroker proxy = factory.CreateChannel();
proxy.Execute(requestMessage))
如何调整该示例以填充 CreateChannel 方法返回的代理?我假设在 ShimWCFService 类中,我需要添加类似......
ShimChannelFactory<TService>.AllInstances.CreateChannel = (var1) => { return [instance of a mock object]};
但是,我不确定如何将模拟对象<TService>
与该 shim 关联作为返回值。