测试WCF Web服务?

w00*_*w00 24 c# wcf web-services visual-studio-2010

我想为WCF服务创建一个测试类.我相信"嘲笑"是正确的用语吗?

我不确定我认为我必须这样做的方式是正确的方法.我得到了一个WCF服务的URL,例如:

http:://somesite.com/wcf/RealService.svc
Run Code Online (Sandbox Code Playgroud)

和:

http:://somesite.com/wcf/RealService.svc?wsdl
Run Code Online (Sandbox Code Playgroud)

因此RealService.svc,Service Reference我只是在我的项目中添加了一个新的空WCF Service,而不是实际添加到我的项目中Service1.

然后我想使用wsdl.exe(或者可能是svcutil.exe?)工具从WSDL url生成一个接口:http:://somesite.com/wcf/RealService.svc?wsdl.

然后我打开Service1.cs文件,而不是让IService1.cs我继承,我让它从生成继承interface.

然后,我不是在我的应用程序中调用真实服务,而只是调用我的Service1类.这是一个嘲弄网络服务的工作方式..?

还需要弄清楚如何interface使用svcutil工具实际生成一个(我读过我不能使用wsdl.exe进行WCF服务?).所以任何提示都非常受欢迎!

Cha*_*nns 20

要触及的许多区域都会尝试指向正确的方向:

  • 如果要测试(即传递输入,验证输出)您的WCF服务,请使用Visual Studio GUI工具WCF Test Client(此处为 MSDN文章).

  • 如果你想模拟你的WCF服务(即单元测试你的组件消耗WCF服务),使用一个NMock2模拟框架,允许你模拟服务接口(这里的相关SO线程).如果你不想使用外部框架,你也可以手工编写一个模拟(通过实现接口) - 但这涉及更多.

  • 如果要对WCF服务进行单元测试(即为服务,业务,数据等编写单元测试),请使用流行的模拟框架(此处为相关的SO线程).

  • 要为您的WCF服务生成代理,请猜测时使用svcutil.exe命令行实用程序(此处为MSDN文章).此实用程序附带各种选项(语言,命名空间,配置文件等),因此请注意它们.

希望这可以帮助.