【发布时间】:2016-12-20 19:12:36
【问题描述】:
我正在尝试为使用 Spectron 框架在 Electron 中实现的应用程序编写一些测试。 当我的应用程序正常启动时,我想发送一个它准备好的事件。我做类似的事情
在应用程序中:我尝试这两个
electron.ipcRenderer.send('app-started');
process.send('app-started', "SUCCESS");
在测试中:我尝试了这两个
beforeEach(function () {
let pathArgs = path.join(__dirname, '../..');
app = new Application({
path: APP_PATH_ELECTRON,
args: [pathArgs],
env: {
TESTING: true,
NODE_ENV: 'development',
APPDATA: "C:/tmp"
}
});
return app.start()
.then(function() {
assert.equal(app.isRunning(), true);
client = app.client;
mainWindow = client.browserWindow;
ipcRenderer = client.electron.ipcRenderer;
});
});
it('checks that app-started has been fired', function(done) {
app.mainProcess.on('app-started', () => {console.log("DONE"); done();});
app.rendererProcess.on('app-started', () => {console.log("DONE"); done();});
});
函数 done() 永远不会被调用:( 我感谢任何可能出错的想法。
谢谢!
【问题讨论】:
标签: javascript electron