我想运行几周前编写的一些 Spectron e2e 测试,但令我惊讶的是,突然它们都因为同一个原因而停止工作。
根据错误消息,我正在处理被拒绝的承诺,但我无法弄清楚问题出在哪里。在我的测试用例结束时调用 done 会引发完全相同的错误。
我正在运行以下命令来启动我的测试服:mocha test/e2e
Mocha 然后在运行我的测试之前执行这个 index.js 以支持 ES6+ 特性
'use strict'
//index.js
// Set BABEL_ENV to use proper env config
process.env.BABEL_ENV = 'test'
// Enable use of ES6+ on required files
require('babel-register')({
ignore: /node_modules/
})
// Attach Chai APIs to global scope
const { expect, should, assert } = require('chai')
global.expect = expect
global.should = should
global.assert = assert
// Require all JS files in `./specs` for Mocha to consume
require('require-dir')('./specs')
之后,它尝试运行这个小的 Login.spec.js,它返回上面提到的错误
import utils from '../utils'
import {Application} from "spectron";
import electron from "electron";
describe(' Login', function () {
this.timeout(11000);
it('login form exists', async function (done) {
this.app = new Application({
path: electron,
env: {"SPECTRON_RUNNING":true},
args: ['dist/electron/main.js'],
startTimeout: 10000,
waitTimeout: 10000
})
await this.app.start()
await this.app.client.windowByIndex(1);
done();
})
})