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

Node.js测试断言空对象失败:如何验证API返回的空对象?

问题分析与解决

核心原因

你搞错了断言的比对对象:

  • 接口返回的request.body.result是空对象{}
  • 你的MOCK_RESPONSE是嵌套结构{ result: {} }
    直接拿这两个做相等校验,本质是在比较{}和{ result: {} },二者结构完全不同,测试自然失败。

解决方法

根据你的测试目标选对应的断言方式:

目标1:验证整个响应体和MOCK_RESPONSE一致

直接用接口返回的完整响应体(request.body)和MOCK_RESPONSE比对:

// 示例(以Jest为例)
expect(request.body).toEqual(MOCK_RESPONSE);

目标2:仅验证result字段是空对象

直接断言request.body.result为空对象即可:

// 方式1:直接比对空对象
expect(request.body.result).toEqual({});
// 方式2:更严谨地验证空对象(避免框架对空对象的特殊判断)
expect(Object.keys(request.body.result)).toHaveLength(0);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:30:55