如何在OpencCV.js中使用Jest?

时间:2019-12-13 14:53:37

标签: reactjs unit-testing opencv testing jestjs

我正在使用笑话为我的 React 应用程序编写测试。 在我的应用程序组件中,导入了 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 个答案:

答案 0 :(得分:0)

您可能需要以这种方式重写导入行:

import cv from '../lib/opencv/opencv';