Node.js 请检查设置是否为真
我想做一个简单的jest测试,检查电子应用程序是否启用了Node.js 请检查设置是否为真,node.js,jestjs,electron,Node.js,Jestjs,Electron,我想做一个简单的jest测试,检查电子应用程序是否启用了devTools。我在main.js中有这个函数: function createWindow () { win = new BrowserWindow({ width: 1024, height: 728, backgroundColor: '#000000', webPreferences: { nodeIntegration: true, devTools: fals
devTools
。我在main.js
中有这个函数:
function createWindow () {
win = new BrowserWindow({
width: 1024,
height: 728,
backgroundColor: '#000000',
webPreferences: {
nodeIntegration: true,
devTools: false
},
frame: false
});
我只是想做个测试看看devTools是否为false。jest是否可以读取该特定变量?是的,您可以访问传递给构造函数的选项,如下所示:
win=新浏览器窗口({
网络首选项:{
无融合:没错,
devTools:对
},
});
log(win.webContents.browserWindowOptions.webPreferences.devTools);
//打印的是真的吗
请注意,只有当值实际出现在构造函数调用选项中时,才能检索该值,否则它是未定义的
进一步注意,这是未记录的:请勿提及
webContents.browserWindowOptions
。我已经用Electron 10.1.0尝试过了。我最近发现了,它允许您测试Electron应用程序。他们的,但我很肯定你可以用笑话来表达。我不需要再检查我的Electron应用程序中是否有devTools,但我在这里为任何想做类似事情的人发帖。谢谢!console.log可以工作,但是我在设置main.test.js
时有点困惑。我只是从笑话开始,下面是我的建议。代码中有几个小问题createwindow
需要是createwindow
并再次检查expect
语法,它不太正确。另外,你正在检查函数的返回值,当它没有返回语句时。是的,我刚刚意识到在我复制并粘贴了所有内容之后。。。但是您是否使用了module.exports=createWindow()
?它给出了一个错误:当我尝试使用npm start
运行应用程序时,无法在应用程序准备就绪之前创建BrowserWindow。我的回答仅涉及在Electron中读取BrowserWindow设置。不幸的是,我不知道如何让你的测试工作!在我看来,这似乎引出了一个更广泛、更普遍的问题:如何让Jest运行一个具有完整UI的电子应用程序。