2

我正在尝试在测试方面测试 spectron 的电子,但是当我正在阅读教程时,每当我运行npm run test:e2e时,我都会收到此错误消息。我的测试文件在语法上是正确的,但我不确定为什么我在编译时遇到错误

眼镜:

  • 节点 6.10.3

  • 电子 1.6.1

这是错误消息

这是 json 文件package.json

{
  "name": "your-app",
  "version": "0.1.0",
  "main": "main.js",
  "scripts": {
    "start": "C:/Users/Livs/Documents/imdc/logger/node_modules/.bin/electron .",
    "test:e2e": "C:/Users/Livs/Documents/imdc/logger/test.js"
  },
  "devDependencies": {
    "electron-chromedriver": "^1.7.1",
    "electron-prebuilt": "^1.4.13",
    "electron-rebuild": "^1.5.11",
    "chai": "^3.5.0",
    "chai-as-promised": "^5.3.0",
    "electron": "^1.3.4",
    "mocha": "^3.0.2",
    "spectron": "^3.4.0"
  }
}

这是测试文件test.js

const Application = require('spectron').Application;
const path = require('path');
const chai = require('chai');
const chaiAsPromised = require('chai-as-promised');

var electronPath = path.join(__dirname, '..', 'node_modules', '.bin',     'electron');

if (process.platform === 'win32') {
    electronPath += '.cmd';
}

var appPath = path.join(__dirname, '..');

var app = new Application({
            path: electronPath,
            args: [appPath]
        });
4

1 回答 1

0

npm run e2e只是调用test.js文件。例如,您将需要一个测试mocha运行器。然后你会跑mocha test.js。或者更改内部的 e2e 脚本package.json以运行该命令。

里面脚本的所有文件路径package.json都应该相对于包根目录,即logger/test.js. 关于 npm bins,您只需要输入 bin 名称,即electron.

要解决您的问题,您应该将 package.jsontest:e2e命令更改为mocha test.js.

(您也可以将start命令更改为,electron .因为自定义 npm 命令将始终在./node_modules/.bin

于 2017-09-02T16:59:18.470 回答