为什么要用soapui模拟wcf服务

为什么要用soapui模拟wcf服务,wcf,soapui,Wcf,Soapui,我试图理解使用SOAPUI模拟wcf服务 引用这篇文章可以很方便地帮助你 快速Web服务原型设计 在几秒钟内从WSDL生成完整的静态模拟实现 并使用Groovy添加动态功能。这允许您 实现和测试客户机的速度比您需要等待的速度要快得多 为实际解决方案获取构建 客户端测试或开发 可以根据MockService和 在无法访问实时服务的情况下进行测试 因此,从我读过的这篇博客和其他一些博客中,我了解到(根据我所读到的)首要的事情是在服务可用之前继续测试(我必须说,我实际上没有得到这一点。在发送一些模拟请

我试图理解使用SOAPUI模拟wcf服务

引用这篇文章可以很方便地帮助你

快速Web服务原型设计

在几秒钟内从WSDL生成完整的静态模拟实现 并使用Groovy添加动态功能。这允许您 实现和测试客户机的速度比您需要等待的速度要快得多 为实际解决方案获取构建

客户端测试或开发

可以根据MockService和 在无法访问实时服务的情况下进行测试

因此,从我读过的这篇博客和其他一些博客中,我了解到(根据我所读到的)首要的事情是在服务可用之前继续测试(我必须说,我实际上没有得到这一点。在发送一些模拟请求和响应之前,服务必须启动)。这是否意味着在我们设置此模拟时该服务应该可用,以便我们可以在以后实际不可用时使用它们


我们还可以说,为给定的服务保存多个测试用例和模拟给定的服务启动并运行(在所有服务都应该运行之后)之间没有区别。

我参与了一个大型项目,其中3个不同的系统都与服务交换数据。它是同一个WSDL(一个“行业标准”,非常复杂,不适合我们的任何一个系统),我们都有客户机将数据发送到其他系统的服务器。每个开发/测试团队都必须开发一个客户端和一个服务,而我们并不真正理解mock。
正如您所料,我们所有的客户都在任何服务准备就绪之前完成了。而测试在几个月内什么都做不了。当他们最终能够进行测试时(在开发人员能够最终获得数据流的第二天),事情就一团糟了

所以我不能回到2010年,拯救我自己,但我可以拯救你

这里是你仍然不明白的地方:

在您发送一些模拟请求和 回应

您不需要建立、构建、编码、资助甚至批准服务。SoapUI模拟服务就是服务。相反,这是一个非常有能力的替身。因此,一旦有了WSDL,就可以构建模拟服务,创建一些示例响应,并使用客户端(可能是其他SoapUI实例)点击它

那么为什么要这样做呢?原因很多

多个开发团队,在不同的时间线上

测试可以继续,是的

避免仅仅因为我们同意使用这个WSDL(代码之后)而带来意外,这并不意味着我的数据就是您的系统所期望的,反之亦然。现在让我们来看看吧

示例:

  • 对于Armor字段,WSDL只显示“string”,但我们的系统允许25个字符,而您的系统允许45个字符
  • 如果您更改终身成就,我们需要您发送UserHighScore。否则它会被重置
  • 我以为我们同意把UserRank放在用户Atributes标签中,而不是电源标签
  • UserRank需要生效日期,否则会导致我方删除所有UserRank历史记录
  • 这就是它过去的工作方式
  • 停止向我们发送我们刚刚发送给您的相同数据。当您将刚收到的数据大写时,您不需要告诉我们这一变化
理想情况下,系统将首先使用模拟服务和SoapUI进行开发。开发WSDL后,启动模拟服务,然后通过SoapUI发送提交示例请求。测试和开发都应该参与。查看从SoapUI客户端发送的数据和构建/脚本响应。花几天时间开发测试用例。对无效数据进行审核,返回真实的响应,确保返回失败和成功,并尝试考虑(并记录)所有预期的失败场景,包括超时(可以在模拟服务中使用睡眠()函数编写脚本)。超时场景可用于模拟负载,以便您可以看到对客户端和基础架构的影响(如果我们保持30分钟,我们能够以高于服务处理的速率发送事务,从而使第7层网关翻转)。

因此,将mockservices作为一个联合研讨会,敲定面向服务解决方案的细节,然后编写代码。您会很高兴您这么做。

SoapUI网站提供了更多信息: