小编hen*_*l28的帖子

开玩笑地在ElectronJS中使用Electron-Remote测试React组件

我目前正在使用React的UI开发ElectronJS应用程序。在某些React组件中,我通过Electron远程使用nodeJS包,因此我将包从主进程导入到渲染器进程中。看起来像这样:

main.js

global.moment = moment;
Run Code Online (Sandbox Code Playgroud)

Component.js

const remote = window.require('electron').remote;
const moment = remote.getGlobal('moment');
Run Code Online (Sandbox Code Playgroud)

在开始使用Jest进行单元测试之前,一切工作正常。

我创建了以下第一个测试用例:

it('renders without crashing', () => {
    const div = document.createElement('div');
    ReactDOM.render(<App />, div);
});
Run Code Online (Sandbox Code Playgroud)

运行此测试将为我提供以下输出:

TypeError: window.require is not a function
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决此问题,也许有人知道如何解决此问题。也许有人知道如何在Electron中设置React的单元测试,该单元测试允许在React组件中使用nodeJS包。

感谢您的帮助。

unit-testing node.js reactjs jestjs electron

5
推荐指数
1
解决办法
315
查看次数

标签 统计

electron ×1

jestjs ×1

node.js ×1

reactjs ×1

unit-testing ×1