WireMock - 灵活开源的API模拟工具
WireMock是一款广受欢迎的开源API模拟测试工具,每月下载量超过500万次。它可以帮助您创建稳定的测试和开发环境,隔离不稳定的第三方服务,并模拟尚不存在的API。
WireMock由Tom Akehurst于2011年创建,最初是一个Java库。如今,WireMock已经跨越多种编程语言和技术栈。它可以作为库或客户端包装器在多种语言中运行,也可以作为独立服务器运行。该项目背后有一个庞大的社区和生态系统。
WireMock支持多种创建模拟API的方法 - 通过代码、REST API、JSON文件以及记录代理到其他目的地的HTTP流量。WireMock拥有强大的匹配系统,可以根据复杂精确的标准匹配传入请求的任何部分。可以通过基于Handlebars的模板系统动态生成任何复杂度的响应。最后,由于其众多的扩展点和全面的API,WireMock易于集成到任何工作流程中。
主要特性
WireMock可以在单元测试中运行,也可以作为独立进程或容器运行。主要特性包括:
- HTTP响应存根,可根据URL、请求头和请求体内容模式进行匹配
- 通过流畅的Java API、JSON文件和HTTP上的JSON进行配置
- 存根的记录/回放
- 请求验证
- 故障和响应延迟注入
- 按请求条件代理
- 用于请求检查和替换的浏览器代理
- 有状态行为模拟
- 可扩展性
完整文档可在wiremock.org/docs找到。
问题和疑问
如果您对WireMock有疑问,或遇到不确定是否为bug的问题,请在WireMock社区Slack的#help
频道发布消息。
另一方面,如果您确信发现了bug,请开启一个issue。
Log4j通知
WireMock仅在其测试依赖项中使用log4j。无论是精简JAR还是独立JAR都不依赖或嵌入log4j,因此您可以继续使用WireMock 2.32.0及以上版本,而不会面临最近发现的漏洞风险。
贡献
WireMock的存在和持续发展归功于贡献者的努力。无论您的专业知识水平如何,无论您能投入多少时间,都有机会参与并帮助这个项目!
有关更多信息,请参阅贡献指南。