3

我正在使用 NodeJS 中的 matchFeature 示例,但是当我尝试测试 const cv = require('opencv4nodejs'); 中出现以下错误时 示例中的行。

测试/matchFeature.test.js

● 测试套件无法运行

TypeError:无法在 Function.keys () 处将 undefined 或 null 转换为对象

在对象。(node_modules/opencv4nodejs/lib/cv.js:63:8)
在对象。(node_modules/opencv4nodejs/lib/opencv4nodejs.js:11:79)

我认为加载模块时出现问题,但我无法修复它。我正在使用 Jest 进行测试。

如果我使用 NodeJS 运行文件,则可以正常工作:

https://prnt.sc/sq41s9

如果我用 jest 运行测试,则会出现上述错误:

https://prnt.sc/sq42mb

图像来自运行文件和测试的文件 cv.js

编辑:来自 jest index.js 的屏幕截图(模块为空)

https://prnt.sc/sq5rxl

4

1 回答 1

0

我能够使用加载模块的全局设置脚本来解决它。

// setup.js
module.exports = async () => {
    const cv = require('opencv4nodejs');
    console.log('cv.version', cv.version);
};

在 package.json 中的笑话配置中:

"jest": {
        ...
        "testEnvironment": "node",
        "globalSetup": "./setup.js"
    }
于 2020-06-12T07:36:20.530 回答