参考链接:http://wiremock.org/docs/getting-started/
- 功能
- 例子
- Transform
- 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