我必须在我的项目中使用许多ASMX Web服务,但是他们的方法调用使我很难对我的其余代码进行单元测试。
当我过去使用WCF服务时,它会为客户端生成一个界面,允许我在单元测试中模拟服务调用。
ASMX webservices可以做同样的事情吗?
答案 0 :(得分:3)
我的解决方案
Service References > Add Service Reference > Advanced > Add Web Reference
。reference.cs
文件Refactor > Extract > Extract Interface
。这将为您提供一个代表您的服务方法的界面。reference.cs
现在您已经拥有了界面,您将能够在单元测试中模拟服务。
我希望这有助于其他人,如果有更简单的方法请告诉我。
答案 1 :(得分:-2)
您可以使用Visual Studio默认安装的 WcfTestClient 。它易于使用且适合测试 wcf和asmx服务。
您可以从路径中找到此工具 “C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ WcfTestClient.exe”
您也可以通过在项目中添加asmx服务的服务引用来进行单元测试。当您打开Reference.cs时,您将获得一个接口 [SeriveName] Soap.cs ,其中包含所有单元测试方法。