WireMock 是一种流行的 API 模拟测试开源工具,每月下载量超过 500 万次。它可以帮助您创建稳定的测试和开发环境,将自己与不稳定的第 3 方隔离开来,并模拟尚不存在的 API。
WireMock 于 2011 年由 Tom Akehurst 作为一个 Java 库开始,现在跨越多种编程语言和技术堆栈。它可以作为多种语言的库或客户端包装器运行,也可以作为独立服务器运行。该项目及其生态系统背后有一个很大的社区。
WireMock 支持多种创建模拟 API 的方法 - 在代码中、通过其 REST API、JSON 文件以及记录代理到另一个目的地的 HTTP 流量。 WireMock 拥有丰富的匹配系统,允许传入请求的任何部分与复杂且精确的标准进行匹配。任何复杂性的响应都可以通过基于 Handlebars 的模板系统动态生成。最后,由于其众多的扩展点和全面的 API,WireMock 很容易集成到任何工作流程中。
WireMock 可以作为独立进程或容器在单元测试中运行。主要特点包括:
完整文档可以在wiremock.org/docs 中找到。
如果您对 WireMock 有疑问,或者遇到不确定是否是错误的问题,请在#help
频道中向 WireMock Community Slack 发布消息。
另一方面,如果您非常确定发现了错误,请提出问题。
WireMock 仅在其测试依赖项中使用 log4j。精简 JAR 和独立 JAR 都不依赖于或嵌入 log4j,因此您可以继续使用 WireMock 2.32.0 及更高版本,而不会面临最近发现的漏洞的风险。
由于贡献者的努力,WireMock 的存在并继续蓬勃发展。无论您拥有多少专业知识和可以投入的时间,都有机会参与并帮助该项目!
有关更多信息,请参阅贡献指南。