【发布时间】:2021-03-31 05:23:09
【问题描述】:
每次调用同一个wiremock端点时,我都需要从预定义的集合中返回一个随机响应。我该怎么做?
【问题讨论】:
-
嗨 - 你的分数是 522。你应该知道如何提出问题 ^^ 代码、错误、向我们展示的东西......
每次调用同一个wiremock端点时,我都需要从预定义的集合中返回一个随机响应。我该怎么做?
【问题讨论】:
这可以通过使用响应模板来实现(请参阅official documentation 了解更多信息)。我将假设您正在使用 Wiremock Standalone。您需要做的第一件事是启用响应模板,因此您需要使用 --global-response-templating 选项运行 Wiremock。例如:
java -jar wiremock-standalone-2.27.2.jar --global-response-templating
请注意,您还可以使用选项--local-response-templating 使用本地模板(如果您只想为特定模拟配置模板)
接下来是创建一个使用 Handlebar 栏助手的模拟,在您的情况下,您可以生成一个随机字符串,如下所示:
{
"request": {
"urlPath": "/templated"
},
"response": {
"body": "{{randomValue length=33 type='ALPHANUMERIC'}}",
"transformers": ["response-template"],
"status" : 200
}
}
就是这样。每次调用 /templated 资源时,您都应该得到一个不同的字母数字字符串。您可以再次查看“随机值助手”部分下的文档,了解哪个助手更适合您。
【讨论】: