javascript - 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 未定义。如果我向函数添加另外两个参数,那么它可以正常工作(但是,添加的两个参数也是未定义的)。我非常困惑,所以任何帮助将不胜感激
解决方案
推荐阅读
- kubernetes - 如何以只读模式访问 Microk8s?
- ethereum - ZoKrates 无效证人产生有效证据
- json - python3 json.loads(response.decode('utf-8')) UnicodeDecodeError:
- reactjs - Antd设计表列->如何将对象数组传递给dataIndex
- c++ - `const` 关键字是在函数声明中使用,还是在定义中使用,或者两者兼而有之?
- javascript - 使用可重用函数动态更改嵌套 JSON 值
- pandas - 带有 DatetimeIndex 的 Pandas SetIndex
- python - python中的Lambda函数将文件从S3复制到本地服务器
- html - 如何修复由 CSS 动画引起的奇怪色带?
- python - 在纯 Python 中聚合两个数值数组的最简单方法是什么?