MOQ WCF服务

时间:2014-09-05 07:42:03

标签: wcf moq

我在调用SomeMethod()时需要MOQ wcfClientService

Class ABC : IABC
{

    internal WcfClientService  wcfClientService = new WcfClientService();

    public void SomeMethod(object pqr)
    {
        using(wcfClientService)
        {
            wcfClientService.Save(some parameters) 
        }
    }
}

1 个答案:

答案 0 :(得分:1)

使用当前的实现,您无法隔离" ABC"因为它与wcfClientService紧密结合。我强烈建议下面提到的事情:

  1. 提取接口IClientService。这使你的" ABC" class依赖于抽象而不是具体的实现。它将在短期内帮助隔离" ABC"更适合单元测试。从长远来看,你的" ABC"如果" RestfulClientService"并且不需要更改类。被使用了。
  2. 考虑引入依赖注入框架。任何类似Spring.Net,Unity或Autofac的东西都应该达到目的。理想情况下,您的生产代码永远不应该实例化依赖项。让框架来处理它。
  3. 现在,使用DI框架注册并解决界面的模拟实现,并开始单元测试" ABC"类。