作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 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()永远不会被调用:(我很欣赏任何可能出错的想法。
谢谢!
最佳答案
在你it
测试用例之前,even不是被触发了吗?
尝试看看事件是否正在触发:
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"
}
});
app.mainProcess.on('app-started', () => {console.log("DONE"); done();});
app.rendererProcess.on('app-started', () => {console.log("DONE"); done();});
return app.start()
.then(function() {
assert.equal(app.isRunning(), true);
client = app.client;
mainWindow = client.browserWindow;
ipcRenderer = client.electron.ipcRenderer;
});
});
关于javascript - 如何在 Electron 和 Spectron 之间发送 ipcMessage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264513/
我是一名优秀的程序员,十分优秀!