【发布时间】:2014-03-04 02:02:46
【问题描述】:
我正在尝试在整个应用层进行依赖注入,并且遇到了我确信其他人已经看到的场景。我们使用了一些第三方 Web 服务,并且客户端是使用基类自动生成的。客户端没有接口,数据类型在同一个文件/项目中。
明显的问题是,如果我想进行单元测试,我需要模拟服务。我需要提取一个接口并将数据类型移动到一个可供真实/模拟客户使用的“合同”项目中。但是,下次自动生成客户端时,需要重做工作。在运行时创建代理不会有太大帮助,因为那时我们将不得不从 WSDL 手动创建接口和数据类型。有没有更好的方法来处理这个问题?
【问题讨论】:
-
在这种情况下,通过 Microsoft Fakes 的垫片对您有用吗? msdn.microsoft.com/en-us/library/hh549175.aspx
-
@BrendanGreen - 为我今天学到的新知识 +1。这可能可行,但是由于我可以控制客户端代码,因此我想尽可能避免走这条路。绝对是一个值得记住的好工具。
标签: c# web-services unit-testing dependency-injection