是否可以使用WireMock将文件作为请求主体的一部分传递



我目前正在使用Wiremock编写一个集成测试。目前,我正在将id和组织id定义为参数。不需要对50个字段重复这个过程,是否可以将JSON文件作为请求传入?即使用此文件作为requestBody。

stubFor(post(urlEqualTo("/v1/transaction"))
.withRequestBody(
matchingJsonPath("$.data.id", containing("1")))
.withRequestBody(matchingJsonPath("$.data.organisation_id", containing("2")))
.willReturn(aResponse()
.withHeader(CONTENT_TYPE, APPLICATION_JSON_VALUE)
.withStatus(HttpStatus.CREATED.value())
.withBodyFile("create_successful_response.json")));

您可能会发现2.26.0中添加的占位符功能更适合您在这里想要的内容。

占位符允许您使用equalToJson(...)与特定字段的松散匹配,例如

{
"data": {
"id": "${json-unit.any-string}",
"organisation_id": "${json-unit.regex}.*1.*}"
}
}

更多详细信息请点击此处:http://wiremock.org/docs/request-matching/#placeholders

相关内容

  • 没有找到相关文章

最新更新