gpt4 book ai didi

javascript - 没有exe文件的Spectron和Electron

转载 作者:行者123 更新时间:2023-12-02 05:58:42 26 4
gpt4 key购买 nike

我正在尝试使用 Electron 构建应用程序。

我需要基于 Electron 环境并使用 Electron 包进行一些单元测试。

这样,我就可以使用 spectron 来模拟我的应用程序。

在文档中,它写到我必须在“路径”属性中放入我的可执行文件所在的路径。我现在没有可执行文件,我处于开发模式。

这是我根据另一个问题尝试过的:

beforeEach(() => {
app = new Application({
path: 'node_modules/.bin/electron'
});
app.start().then(res => console.log(res), err => console.log(err));

});

提示中没有任何内容出现,下面的测试失败表明我无法在 undefined object 上获取 getWindowCount(显然,应用程序未实例化):

 it('should call currentWindow', (done) => {
app.client.getWindowCount().then((count) => {
expect(count).to.equals(1);
done();
});
});

有谁知道我应该在这条路径中放置什么才能使我的测试环境正常工作?

PS : 我用的是摩卡茶和 sinon。

谢谢你的帮助

最佳答案

起初我创建一个可执行文件用于测试目的,但实际上没有必要。

您可以看到 Spectron 有一个 example test和一个 global setup .

该示例传递了一个名为 args 的选项,而这正是您所缺少的。这就是我正在做的:

  var appPath = path.resolve(__dirname, '../'); //require the whole thing
var electronPath = path.resolve(__dirname, '../node_modules/.bin/electron');

beforeEach(function() {
myApp = new Application({
path: electronPath,
args: [appPath], // pass args along with path
});

return myApp.start().then(function() {
assert.equal(myApp.isRunning(), true);
chaiAsPromised.transferPromiseness = myApp.transferPromiseness;
return myApp;
});
});

我的测试位于 ./tests/app-test.js 中。以上对我有用。

关于javascript - 没有exe文件的Spectron和Electron,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37343150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com