我正在使用笑话和酶为我的 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
答案 0 :(得分:0)
您可能需要以这种方式重写导入行:
import cv from '../lib/opencv/opencv';