• 端对端测试
    • 运行测试
      • 注意
  • 文件结构
    • specs/
    • index.js
    • utils.js
  • 关于 Spectron
    • WebDriverIO 的使用

    端对端测试

    对于端到端测试,electron-vue 使用 Spectron 和 测试框架 Mocha (以及 Chai)。Mocha 和 Chai 的 API (包括 expectshould 以及 assert 在内) 均在全局范围内可用。

    运行测试

    1. # 开始 Mocha
    2. npm run e2e
    注意

    在运行端到端测试之前,为了使 Spectron 在测试的时候可用,请调用 npm run pack 来创建一个产品构建。

    文件结构

    1. my-project
    2. ├─ test
    3. | ├─ e2e
    4. ├─ specs/
    5. ├─ index.js
    6. └─ └─ └─ utils.js

    在大多数情况下,你可以忽略 index.js ,只专注于编写 specs/

    specs/

    这个目录里面是编写实际测试代码的地方。由于 babel-register 的强大功能,你可以完全依照 ES2015 进行编写。

    index.js

    这是 Mocha 入口文件,并收集加载在 specs/ 内的所有测试代码用于测试。

    utils.js

    在这里,你会发现一些通用的函数,你可以在 specs/ 中使用。其基本功能包括处理 electron 创建/销毁过程的 beforeEachafterEach

    关于 Spectron

    Spectron 是使用 ChromeDriver 和 WebDriverIO 来操作 DOM 元素的 electron 官方测试框架。

    WebDriverIO 的使用

    如 Spectron 的 文档 中所述,你可以通过访问 this.app.client 来访问 WebDriverIO APIs。 由于 electron-vue 使用了 Mocha,thisafterEachbeforeEachit 之间共享。 因此,值得注意的是,ES2015 的 箭头函数 (arrow function) 不能在某些情况下使用,因为 this 的语境将被覆盖 (更多信息)。