mockwebserver java_在Java中使用WireMock和SOAP Web服务

我是WireMock的创造者.

我最近使用WireMock在客户端项目上模拟了SOAP接口的集合,所以我可以证明它是可能的.至于它是否比SOAP UI更好或更差,我会说有一些明确的好处,但有一些权衡.一个主要的好处是相对容易部署和编程访问/配置,以及对HTTPS和低级故障注入等方面的支持.但是,您需要做更多的工作来解析和生成SOAP有效负载 – 它不会像SOAP UI那样从WSDL生成代码/存根.

我的经验是像SOAP UI这样的工具可以让你更快地开始,但是从长远来看,当你的测试套件变得越来越琐碎时,往往会导致更高的维护成本.

要依次解决您的观点:

1)如果您希望您的模拟在某个服务器上运行,最简单的方法是按照您的描述运行独立的JAR.我建议不要尝试将它部署到容器中 – 这个选项实际上只存在于没有其他选择的情况下.

但是,如果您只想运行集成测试或完全自包含的功能测试,我建议使用JUnit规则.我要说,如果a)你将其他已部署的系统插入其中,或者b)你是从非JVM语言中使用它,那么在一个专用的进程中运行它是一个好主意.

2)您需要以3种方式之一配置它:1)Java API,2)基于HTTP的JSON,或3)JSON文件. 3)可能与您习惯使用SOAP UI的方式最接近.

3)对于使用JSON和Java的大量存根示例,请参见http://wiremock.org/stubbing.html.由于SOAP倾向于绑定到固定端点URL,因此您可能需要urlEqualTo(…).当我过去使用SOAP时,我倾向于在整个请求体上进行XML匹配(参见http://wiremock.org/stubbing.html#xml-body-matching).我建议投资编写一些Java构建器来发出所需的请求和响应主体XML.

4)Mock Server和Betamax都是WireMock的成熟替代品,但AFAIK它们不提供任何更明确的SOAP支持.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值