【发布时间】:2013-09-26 13:12:10
【问题描述】:
我正在尝试编写一个依赖于 WCF 服务的类,并且我希望我的类可以进行单元测试。我想出了下面的代码,但遇到了一些棘手的情况
public class BenefitReason
{
private IWCFServiceClient _client;
public BenefitReason(IWCFServiceClient client)
{
_client = client;
}
public CanIssueEmercengyBenefit(string benefitReasonCode)
{
client.GetEmergencyBenefits().contains(benefitReasonCode);
}
//Rest of implementation for Benefit Reason
}
这是可单元测试的,因为我可以模拟 IWCFServiceClient,但是我失去了对客户端的控制。如果客户端通道在创建BenefitReason 对象和调用CanIssueEmercengyBenefit 之间关闭,则会发生异常。
请就如何克服编写可进行单元测试的代码与失去对 wcf 客户端实例化的控制的棘手情况提出建议。
【问题讨论】:
标签: .net wcf unit-testing dependency-injection