我正在寻找从字节流操纵值。我将在一个数组中接收值,我要对其进行解析。我希望用新的格式化结果返回一个字典。我的格式代码是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,
},
});