WCF - 测试引用的第三方服务

时间:2011-11-16 18:45:21

标签: .net wcf web-services testing

我一直在尝试对这个主题进行一些研究,因为我认为这种情况经常发生,但我没有找到任何太相关的东西。我们与客户进行第三方服务,并与之互动。我们有他们的WSDL,已经提供了服务引用并开发了我们项目的一面,但我们实际上并没有访问他们的服务进行测试。测试代码的最佳方法是什么?以下是我所知道的选项:

  1. Soap UI - 此工具允许您从WSDL创建Mock服务。您可以指定将为不同的方法调用返回的回复消息,但据我所知,它完全是 random 将使用哪个回复。
  2. 手动创建模拟服务 - 我发现我需要更多控制测试服务。具体来说,我想进行输入验证并返回正确的数据。因此,我构建了自己的模拟服务,它使用WSDl.exe tool中的/ serverInterface扩展了我从客户端的WSDL生成的服务接口。
  3. 有没有更好的方法来进行此类测试?我觉得选项1非常有限,但选项2看起来很密集。由于工作量的原因,我的同事已经嘲笑选项2,并提到我们应该使用Visual Studio来执行测试。视觉工作室中的这种测试工具是否存在?如果是这样,它是否会像Soap UI一样被限制,我们会受到重复的回复消息?

    谢谢!

    更新:澄清一下,关于Visual Studio测试问题:我知道VS中有一个测试套件,并且有一些像web测试,但是模拟服务呢?我还没有看到任何迹象表明存在这种测试工具。

1 个答案:

答案 0 :(得分:1)

我们使用您的选项2运行多个模型。实际上,模拟外部服务的操作行为需要一些工作,但它会带来巨大的回报。您可以完全控制测试实现,并可以控制哪个答案返回哪个问题。

重要的是对来自第三方的服务行为的良好描述。界面描述通常很少详细。可以返回什么错误?什么时候发生错误?什么是快乐的道路。所有人都应该知道。因此,作为创建模型的副作用,您可以获得第三方服务功能的专家洞察力: - )