Closed
Description
Describe the bug
Calling testWithSpectron()
hangs the tests, and starts opening as many Electron windows as it can until the tests time out.
To Reproduce
Run the following spec:
import testWithSpectron from "vue-cli-plugin-electron-builder/lib/testWithSpectron";
import chai, { expect } from "chai";
import chaiAsPromised from "chai-as-promised";
chai.use(chaiAsPromised);
describe("Application launch", function() {
this.timeout(30000);
beforeEach(function() {
console.log("Before Each -- testWithSpectron()");
return testWithSpectron().then(instance => {
console.log("testWithSpectron().then");
this.app = instance.app;
this.stopServe = instance.stopServe;
});
});
beforeEach(function() {
console.log("Before Each -- chaiAsPromised");
chaiAsPromised.transferPromiseness = this.app.transferPromiseness;
});
afterEach(function() {
console.log("After");
if (this.app && this.app.isRunning()) {
return this.stopServe();
}
});
it("opens a window", function() {
console.log("opens?");
const gwc = this.app.client.getWindowCount();
console.log(gwc);
return expect(gwc).to.eventually.have.at.least(1);
});
});
Expected behavior
I expected the output
> Before Each -- testWithSpectron()
> testWithSpectron().then
> Before Each -- chaiAsPromised
> opens?
> After
And for it to only open one Electron window (or maybe even 0, if it should be headless).
Instead, it opens 5-10 windows (just keeps going until Mocha times out).
Environment (please complete the following information):
- OS and version: macOS 10.14.6 (18G87)
- node version: v12.5.0
- npm version: 6.9.0
- yarn version (if used): N/A
- vue-cli-plugin-electron-builder version : 1.4.0
- electron version: 6.0.7
- other vue plugins used:
- @vue/cli-plugin-babel: 3.11.0
- @vue/cli-plugin-eslint: 3.11.0
- @vue/cli-plugin-unit-mocha: 3.11.0
- @vue/cli-service: 3.11.0
- @vue/test-utils: 1.0.0-beta.29
- custom config for vcp-electron-builder:
// vue.config.js
const path = require("path");
module.exports = {
configureWebpack: {
resolve: {
alias: {
Disciplines$: path.join(__dirname, "src/assets/earthdawn/disciplines"),
Races$: path.join(__dirname, "src/assets/earthdawn/races"),
Skills$: path.join(__dirname, "src/assets/earthdawn/skills"),
Talents$: path.join(__dirname, "src/assets/earthdawn/talents"),
},
},
},
chainWebpack: config => {
config.module
.rule("yaml")
.test(/\.ya?ml$/)
.use("js-yaml-loader")
.loader("js-yaml-loader")
.end();
},
pluginOptions: {
electronBuilder: {
chainWebpackMainProcess: config => {
config.resolve.alias.set("@", path.join(__dirname, "src/"));
},
},
},
};
- (if possible) link to your repo: https://github.com/thislooksfun/earthdawn
Additional context
N/A
Metadata
Metadata
Assignees
Labels
No labels