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

如何在Postman的pm.expect断言中开启showDiff显示实际与预期值差异

Postman断言开启showDiff输出差异对比配置方法

Postman目前没有全局配置项可以直接统一设置所有断言的showDiff为true,调整断言写法即可触发差异对比输出,具体方法如下:

  • 方法1:使用深度相等断言对比引用类型数据
    对比对象、数组等引用类型数据时,不要使用严格相等断言.equal(),改用深度相等断言.eql(),Postman会自动将该类断言报错的showDiff标识设为true,控制台直接输出差异对比。
    示例代码:
    pm.test("响应数据匹配预期", function () {
      const expectedRes = {
        code: 0,
        message: "操作成功",
        data: {id: 123, name: "测试数据"}
      }
      pm.expect(pm.response.json()).to.eql(expectedRes)
    })
    

    注意:字符串、数字等基础类型数据对比时,使用.equal()也会自动触发差异输出,无需额外修改。

  • 方法2:自定义断言主动抛出带对比属性的错误
    如果是自定义校验逻辑,你可以主动抛出包含actual(实际值)、expected(预期值)属性的错误对象,同时手动设置showDiff: true,Postman控制台会自动识别属性并展示差异:
    示例代码:
    pm.test("自定义逻辑校验", function () {
      const actual = pm.response.json().data.list
      const expected = ["item1", "item2", "item3"]
      // 自定义校验逻辑
      if (actual.length !== expected.length || !actual.every((item, index) => item === expected[index])) {
        const err = new Error("列表数据不符合预期")
        err.actual = actual
        err.expected = expected
        err.showDiff = true
        throw err
      }
    })
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 17:39:01