You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为Mockserver期望添加元数据并按测试运行ID批量清除?

Mockserver单次测试期望的注册与批量清除方案

你提到的直接用testRunId作为元数据的方案,Mockserver原生并不支持,但可以通过两种替代方法实现相同需求:

  • 方法一:用name字段标记测试运行ID
    注册期望时,把唯一的MY_ID赋值给期望的name属性,示例请求体如下:

    {
      "name": "testRunId=MY_ID",
      "request": {
        "method": "GET",
        "path": "/api/test"
      },
      "response": {
        "statusCode": 200,
        "body": "mock response"
      }
    }
    

    测试结束后,调用DELETE /mockserver/expectation接口,用name字段作为匹配条件批量删除:

    {
      "name": "testRunId=MY_ID"
    }
    

    这样就能移除所有标记了该测试运行ID的期望。

  • 方法二:给期望添加自定义匹配头
    注册期望时,在请求匹配规则里加一个专属的自定义头(比如X-Test-Run-Id),用来标记该期望归属的测试运行:

    {
      "request": {
        "method": "GET",
        "path": "/api/test",
        "headers": {
          "X-Test-Run-Id": [ "MY_ID" ]
        }
      },
      "response": {
        "statusCode": 200,
        "body": "mock response"
      }
    }
    

    清除时,同样以这个自定义头为匹配条件发送删除请求:

    {
      "request": {
        "headers": {
          "X-Test-Run-Id": [ "MY_ID" ]
        }
      }
    }
    

    Mockserver会自动删除所有包含该头匹配规则的期望。

这两种方案都能实现你想要的“单次测试绑定期望+批量清理”的目标,核心是利用Mockserver已有的期望匹配机制来做分组标记,不需要依赖原生元数据功能。

内容的提问来源于stack exchange,提问作者fml2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 00:33:10