首页/开发/软件测试速查/WireMock HTTP 桩服务
自动化测试66 条

WireMock HTTP 桩服务

WireMock 以 HTTP 桩服务替身外部接口:用 JSON 映射声明「请求匹配加响应返回」,可模拟延迟、错误与各类状态码;Java 生态常用,也支持独立进程与容器方式运行。

软件测试速查开发更新于 2026-10-13

WireMock 是什么

WireMock 以 HTTP 桩服务替代外部接口:用 JSON 映射声明「请求匹配加响应返回」,可模拟延迟、错误与各类状态码;Java 生态常用,也支持独立进程与容器方式运行。桩让集成测试摆脱外部依赖,但桩与真实服务的漂移需要治理——否则测试全绿,线上照崩。

基本信息

定位HTTP 桩服务,模拟外部依赖行为
映射声明请求匹配(方法、路径、头、体)加响应定义
模拟能力延迟、错误、状态码、故障注入
运行方式Java 进程、独立 jar、容器
管理接口/__admin 运行时增改映射,动态调整
录制能力代理模式可从真实服务录制生成映射草稿
匹配优先级多条映射命中时优先级要显式设计
数据管理桩数据按用例隔离,避免相互污染

映射示例

映射示例
{
  "request": { "method": "GET", "url": "/api/ping" },
  "response": {
    "status": 200,
    "jsonBody": { "ok": true },
    "fixedDelayMilliseconds": 100
  }
}
// 管理接口 /__admin 支持运行时增改映射

典型使用场景

  • 集成测试:外部依赖不稳定或收费时用桩替代。
  • 故障演练:注入延迟与错误,验证熔断降级。
  • 前端联调:后端未就绪时先按契约桩化。
  • 边界复现:模拟超时、502、429 等异常响应。
  • 性能隔离:压测时桩化非目标依赖,聚焦被测服务。
  • 契约同步:桩映射与接口契约双向核对。
  • 录制回放:用代理抓取真实响应生成映射草稿。
  • 契约巡检:定时用真实服务响应对比桩映射。
  • 故障基线:把常用故障场景沉淀成可复用映射。
桩响应与真实服务长期不校对,契约漂移后测试仍然全绿。
多份映射匹配条件重叠时,命中顺序不确定会导致结果不可复现。
故障注入(延迟、错误)要限制在测试环境,防止误配置影响联调环境。
映射文件纳入版本库:评审与回滚都有依据。

易错点

  • 桩响应与真实服务长期不校对,契约漂移后测试全绿。
  • 多份映射匹配条件重叠,命中顺序不确定导致结果不可复现。
  • 桩里写死测试数据,用例之间互相污染。
  • 桩服务无人维护版本,接口升级后映射过期。
  • 桩映射散落在各用例里,复用与维护困难。
  • 启用录制后忘记切换回桩模式,测试依赖真实服务。

数据来源与参考

  • WireMock 官方文档(wiremock.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌