独立运行wiremock时如何使用“wiremock-faker-extension”扩展生成faker存根数据

问题描述 投票:0回答:2

我想使用这个扩展wiremock-faker-extension 生成动态存根数据,并希望使用这个 faker 库。

我正在使用命令将wiremock作为独立服务运行 java -jarwiremock-standalone-3.3.1.jar --端口 9995 --verbose --global-response-templated

目前我正在使用另一种解决方法来生成动态数据,但是我想切换到 faker 扩展以实现相同的功能。

如果您有想法,请分享您的想法。

wiremock wiremock-standalone
2个回答
0
投票

wiremock-faker-extension 是为存根生成随机数据的好方法。要设置它,您需要添加 当您启动 WireMock 时扩展到类路径。

如果您使用 最新版本的 faker 扩展, 它应该通过该版本中添加的服务加载器自动获取。如果您使用的是较旧的 版本的扩展,您将需要手动加载扩展。您可以通过添加

--extensions
来做到这一点 启动 WireMock 时将参数添加到命令行。
--extensions
参数记录在 WireMock 文档中 网站在这里 - https://wiremock.org/docs/standalone/java-jar/#command-line-options

--extensions
参数的值应该是完整的 扩展的限定类名 -
org.wiremock.RandomExtension

您可以在启动 WireMock 时通过检查控制台输出来验证扩展是否已加载。你应该看到 像这样的一行:

extensions: faker-helper,response-template,webhook

完成所有设置后,您可以在存根映射中使用扩展。这是使用存根映射的示例 用于生成响应随机数据的 faker 扩展:

{
  "request": {
    "method": "GET",
    "urlPath": "/faker"
  },
  "response": {
    "status": 200,
    "jsonBody": {
      "name": "{{ random 'Name.fullName' }}",
      "address": "{{ random 'Address.fullAddress' }}"
    },
    "transformers": ["response-template"]
  }
}

这个存根将返回一个 json 有效负载,如下所示:

{
  "name": "Mary McKenzie",
  "address": "Suite 140 3883 Mitsuko Skyway, South Shanita, TX 67816"
}

如果你想尝试一下,我在使用 docker 的示例项目中有这个设置。您可以找到 完整示例在这里

faker 扩展存储库的docs目录中有

支持的faker方法的完整列表


0
投票

我建议使用在线 api 模拟工具,例如 https://mock-api.net,拥有一个用户友好的工具来创建和管理你的 api

© www.soinside.com 2019 - 2024. All rights reserved.