首页 > 解决方案 > Jest 测试函数忽略前两个参数

问题描述

我目前正在尝试使用 jest 测试我的一些代码,但由于某种原因,如果我在函数中发送 4 个参数,它基本上会将值向前移动两个,而后两个是未定义的。

这是我的测试代码

const userDistance = require("./avtest");

test("Checks userDistance calculation", () => {
   expect(userDistance(1, 1, 4, 5)).toBe(5);
});

这是正在测试的功能

function userDistance(x, y, ux, uy) {
    let tx = (ux - x) * (ux - x);
    let ty = (uy - y) * (uy - y);
    return Math.sqrt(ty + tx);
}
module.exports = userDistance;

但是,如果我为每个参数(例如 x、y、ux、uy)执行 console.log(),x 打印为 4,y 打印为 5,并且 ux 和 uy 未定义。如果我向函数添加另外两个参数,那么它可以正常工作(但是,添加的两个参数也是未定义的)。我非常困惑,所以任何帮助将不胜感激

标签: javascriptunit-testingtestingjestjs

解决方案


推荐阅读