如何使用Jest测试多个返回值



我正在寻找从字节流操纵值。我将在一个数组中接收值,我要对其进行解析。我希望用新的格式化结果返回一个字典。我的格式代码是index.js

//index.js
function calculateNumbers(numbers)
{   
results={};

//Summing two values
sumOfTwo = numbers[0] + numbers[1];  //should be 6
results.valTwo = sumOfTwo;
//Summing three values
sumOfThree = numbers[0] + numbers[1] + numbers[3]; //should be 9
results.valThree = sumOfThree;
return{
total:results
};
}
module.exports = calculateNumbers;

对于测试,我想创建一个测试脚本来验证我的响应(在index.test.js中显示)

在我的函数中,我返回{value:total};当以这种格式返回我的值时,我的测试代码返回说:

Expected: 3
Received: {"value": {"valThree": NaN, "valTwo": 3}}
//index.test.js
const calculateNumbers= require("./index");
test("Returns calculations",()=> {
//expect(0.2 + 0.1).toBeCloseTo(0.3, 5);
expect(calculateNumbers([1,2,6])).toBe(3,9);
});

如何修改单元测试以解析新的返回值?

函数的结果是object。你需要断言所有的对象:

expect(calculateNumbers([1,2,6])).toStrictEqual({
total: {
valTwo: 3,
valThree: 9,
},
});

相关内容

  • 没有找到相关文章

最新更新