没有参数的springboot WireMock mock
Posted
技术标签:
【中文标题】没有参数的springboot WireMock mock【英文标题】:springboot WireMock mock without parameters 【发布时间】:2020-08-28 01:13:59 【问题描述】:我有这个运行良好的模拟
stubFor(WireMock.get("/varela/offerszones?channel=123").willReturn(aResponse()
.withStatus(200)
.withHeader("content-type", "application/json")
.withBodyFile("zones_config.json")));
但我想知道是否可以在没有参数的情况下模拟它,因为我已经尝试过但它不起作用
stubFor(WireMock.get("/varela/offerszones").willReturn(aResponse()
.withStatus(200)
.withHeader("content-type", "application/json")
.withBodyFile("zones_config.json")));
【问题讨论】:
尝试使用 WireMock.get("/varela/offerszones*") - 其中 * 将匹配之后的任何内容 我试过但没用 【参考方案1】:在 WireMock 中很难记住 URL 匹配。查看Request Matching documentation 了解更多信息。
您应该能够平等使用 Java 中的 urlPathEqualTo
(JSON 中的 "urlPath"
)仅匹配 URL 路径。
stubFor(WireMock.get(urlPathEqualTo("/varela/offerszones"))
.willReturn(aResponse()
.withStatus(200)
.withHeader("content-type", "application/json")
.withBodyFile("zones_config.json")));
其他选项有:(列为 Java / JSON)
urlEqualTo
/ "url"
:路径和查询的相等匹配
urlMatching
/ "urlPattern"
: 正则表达式匹配路径和查询
urlPathMatching
/ "urlPathPattern"
:仅在路径上匹配正则表达式
【讨论】:
以上是关于没有参数的springboot WireMock mock的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot18 SwaggerAPI接口文档生成WireMock模拟后台数据