【发布时间】: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
【问题讨论】:
标签: reactjs unit-testing opencv testing jestjs