Jest测试用例执行失败,提示expect(received).toBe(expected)等值匹配错误
问题根因
你的add函数没有显式返回计算结果,调用后返回值为undefined,不符合匹配器要求的数字类型,因此触发报错。
修复方案
你可以选择任意一种方式修改add函数的定义:
- 方案1:为带花括号的箭头函数添加
return语句
const functions = { add: (num1, num2) => { return num1 + num2; }, }; module.exports = functions;
- 方案2:去掉箭头函数的花括号,使用隐式返回规则
const functions = { add: (num1, num2) => num1 + num2, }; module.exports = functions;
规则说明
JavaScript的箭头函数存在以下返回值规则:
当函数体用花括号包裹时,必须显式书写
return语句指定返回值,否则函数默认返回undefined;如果省略花括号,会自动将箭头后表达式的计算结果作为返回值。
修改后重新运行测试即可正常通过。
内容的提问来源于stack exchange,提问作者Anamol Acharya
相关产品推荐
相关产品推荐

