从wiremock随机返回响应

问题描述

每次调用一个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 资源时,您都应该得到不同的字母数字字符串。您可以再次查看“随机值助手”部分下的文档,以了解哪个助手更适合您。