Wiremock

Wiremock是一个用于模拟HTTP服务的工具,尤其适用于集成测试中替代真实外部服务。它允许你在请求匹配时返回预设的响应,而不是实际发起网络请求。使用stubs可以创建静态响应,而transformers则可以根据条件动态修改响应内容。Scenarios/States功能用于管理不同的响应状态,适应在测试中模拟多个交互。在测试方法前使用`stubFor()`初始化设置,以便所有测试都能访问预设的响应。
摘要由CSDN通过智能技术生成

参考链接:http://wiremock.org/docs/getting-started/

  1. 功能
  2. 例子
  3. Transform
  4. Scenarios/States
功能

在集成测试中模拟外部服务,即当系统需要通过HTTP调用外部服务并获取response,但是我们并不想真的发一个请求时,使用stubs模拟该调用。

只有当需要真实数据时才使用stubs,否则使用mock创建虚拟对象模拟调用。

简单来说,stub就是一段桩代码,当请求匹配时,返回固定的response。

例子
一般代码
stubFor(get(urlEqualTo("/some/thing"))
            .willReturn(aResponse()
                .withHeader("Content-Type", "text/plain")
                .withBody("Hello world!")));

当请求match url,则返回一个response,状态码为200,Header为 “Content-Type:text/plain",body为"Hello World"

复杂代码
stubFor(post(urlEqualTo("/some/thing2"))
       .withRequestBody(matchingXPath("//root")           
       .withXPathNamespace("ns","http://www.namespace.com"))
        .willReturn(aResponse()
                .withStatus(200)
                .withTransformers("my-transformer")
                .withTransformerParameter("param", true
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值