【发布时间】:2011-04-20 21:11:06
【问题描述】:
我有一个 WCF Ria 服务,它调用多个 wcf 服务(非 Ria)。我正在使用 ChannelFactory 创建通道,但问题是我想为这个 Ria Service 编写单元测试,而 ChannelFactory 是一个类,而不是一个接口,所以我不能模拟它。一个理想的解决方案是声明 IChannelFactory 并使用依赖注入,但是这里有一个问题。
ChannelFactory 具有 CreateChannel 的重载,它采用 web/app.config 文件中定义的端点配置名称的名称。我正在使用该方法,这样我就不必硬编码端点参数或创建额外的 ConfigurationProperties 来重新发明轮子。 IChannelFactory 没有这个成员,所以即使我将 ChannelFactory 注入到我的服务中,我也无法创建从配置文件配置的通道。所以我的问题是,如何解决这个问题?我的意思是如何使用没有反射/动态的 IChannelFactory 合同从配置文件创建通道并配置它?
【问题讨论】:
标签: c# wcf unit-testing mocking