【问题标题】:Cannot convert undefined or null to object at Function.keys无法在 Function.keys 将 undefined 或 null 转换为对象
【发布时间】:2020-05-29 14:13:46
【问题描述】:

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

测试/matchFeature.test.js

● 测试套件无法运行

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

在对象。 (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

【问题讨论】:

    标签: javascript node.js unit-testing opencv opencv4nodejs


    【解决方案1】:

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

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

    并且在 package.json 中开玩笑的 Config 中:

    "jest": {
            ...
            "testEnvironment": "node",
            "globalSetup": "./setup.js"
        }
    

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 2020-07-19
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 2023-02-06
      • 2022-01-24
      • 2021-12-07
      相关资源
      最近更新 更多