如果是babel6.23的版本,没什么大的问题。
如果是使用babel-upgrade升级到babel7,要注意自己的electron,之前如果根据提示下载了缺失的依赖,要确认这个依赖是否支持babel7。
首先要移除掉这些库,替换为支持babel7版本的库。例如以下这个是我在排查时寻找到的替换库:
@vue/babel-plugin-transform-vue-jsx
因为babel-plugin-transform-vue-jsx这个库只支持babel6,而@babel/plugin-transform-vue-jsx又不存在。因此寻找很久,才找到一个支持babel7版本的jsx库。
在自动化测试框架中,如果使用spectron,那么需要修改e2e文件夹下的index.js,这个文件的babel-register需要修改为如下:
require('@babel/register')({ ignore: [ /node_modules/ ] })
这样就可以将依赖的babel6替换为babel7了。
到这一步,测试框架基本可以正常跑起来。
如果是按照前面两篇文章添加的多进程,还需要修改测试代码如下,使得spectron能绑定到对应的进程,进行测试:
it('validate application title', function() {
// 此处的this.app.client是第一个进程 this.app.client.windowByIndex(1).then(() => {
// 此处的this.app.client是第二个进程 let title = this.app.client.getTitle() expect(title).to.equal('civet') }) })