如何在 opencV.js 中使用 Jest?
Posted
技术标签:
【中文标题】如何在 opencV.js 中使用 Jest?【英文标题】:How to use Jest with opencCV.js? 【发布时间】:2020-04-07 01:06:37 【问题描述】:我正在使用 jest 和 enzyme 为我的 React 应用程序编写测试。 在我的 App 组件中 opencv.js 被导入。并且测试失败。 这是我的组件的简化版本
import '../lib/opencv/opencv';
function App ()
console.log('App');
return 2;
export App ;
这是测试
import App from './App';
describe('App',() =>
test('App with opencv.js', () =>
expect(App().toBe(2));
);
);
此测试失败并出现以下错误
FAIL src/App.test.jsx
● Test suite failed to run
ReferenceError: Module is not defined
28 |
29 | if (typeof Module === 'undefined')
> 30 | Module = ;
| ^
31 | return cv(Module);
32 | ));
33 |
at factory (lib/opencv/opencv.js:30:11)
at Object.<anonymous>._scriptDir (lib/opencv/opencv.js:3:13)
at Object.<anonymous> (lib/opencv/opencv.js:2:2)
at Object.<anonymous> (src/App.jsx:1:1)
at Object.<anonymous> (src/App.test.jsx:1:1)
如果我评论这一行
import '../lib/opencv/opencv';
测试将通过。
我应该如何为我导入 OpenCV 的组件编写测试?
版本
反应:^16.8.3,
开玩笑:^24.9.0,
babel-jest: ^24.9.0,
opencv.js:3.4.3
【问题讨论】:
【参考方案1】:你可能需要用这种方式重写你的导入行:
import cv from '../lib/opencv/opencv';
【讨论】:
以上是关于如何在 opencV.js 中使用 Jest?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jest.fn() 在 jest 中使用 typescript 模拟函数
如何在 React WebApp 中集成 OpenCV.js?