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

如何使用Jest测试多返回值?修正单元测试解析返回结构

修复单元测试以正确解析函数返回值

你的测试代码有两个核心问题需要修正:

  • 输入数组不匹配函数注释的预期,且导致numbers[3]为undefined,最终valThree计算结果为NaN
  • 断言方式错误,toBe(3,9)无法验证嵌套的对象结构,必须正确访问函数返回的层级属性

修改后的测试代码

// index.test.js
const calculateNumbers = require("./index");

test("Returns correct calculations", () => {
  // 传入符合函数预期的数组:前两位和为6,第四位为3,保证三数和为9
  const testResult = calculateNumbers([3, 3, 0, 3]);
  
  // 分别验证返回结构中total下的两个字段
  expect(testResult.total.valTwo).toBe(6);
  expect(testResult.total.valThree).toBe(9);
});

额外说明

如果坚持使用原测试的[1,2,6]作为输入,需要同步修改index.js里的三数求和逻辑——把numbers[3]改成numbers[2],否则valThree会因访问不存在的数组索引得到NaN,无法通过测试。

内容的提问来源于stack exchange,提问作者mm-05

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 13:18:19