我正在使用当前不使用任何依赖注入的代码,并通过WCF客户端进行多个服务调用.
public class MyClass
{
public void Method()
{
try
{
ServiceClient client = new ServiceClient();
client.Operation1();
}
catch(Exception ex)
{
// Handle Exception
}
finally
{
client = null;
}
try
{
ServiceClient client = new ServiceClient();
client.Operation2();
}
catch(Exception ex)
{
// Handle Exception
}
finally
{
client = null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标是通过使用依赖注入使这个代码单元可测试.我的第一个想法是简单地将服务客户端的实例传递给类构造函数.然后在我的单元测试中,我可以创建一个模拟客户端用于测试目的,但不会向Web服务发出实际请求.
public class MyClass
{
IServiceClient client;
public MyClass(IServiceClient client)
{
this.client = client;
}
public void Method()
{
try
{
client.Operation1();
}
catch(Exception ex) …Run Code Online (Sandbox Code Playgroud)