使用 CodeDom 生成 WebService 客户端存根的接口
为单元测试生成 WebService 客户端存根的接口。
引言
这是一个简单的应用程序,用于生成 WebService 客户端存根的接口。
背景
生成的接口能做什么?嗯... 因为 WebService 客户端存根的所有方法都不是虚方法,所以在业务逻辑依赖于它时(该方法无法被模拟)很难应用单元测试。
使用代码
使用这个功能非常简单,如下所示
var basePath = @"D:\Workspace\YourSolution\YourProject"; // The dir contains the .csproj file.
var webReference = "WebReference"; // The namespace of the web reference you set.
var puller = new InterfacePuller(basePath, webReference);
puller.Process();
一个名为 "ReferenceExtensions.cs" 的代码文件将在路径 <basePath
>/Web References/<webReference
> 下生成。
现在,您可以声明使用接口类型而不是客户端存根类类型的字段。
private WebService service = new WebService();
private IWebService service = new WebService();