在赛普拉斯测试中支持ES2018?(对象传播运算符)

Sta*_*ano 6 testing cypress

我正在尝试使用ES2018语法运行赛普拉斯测试:

describe("Cypress test", () => {

  const objA = { a: 1, b: 2 };
  const objB = { ...objA };

  ...
}
Run Code Online (Sandbox Code Playgroud)

但是当执行时,我得到:

SyntaxError: /....../cypress/loginTest.js: Unexpected token (29:17)
  27 | 
  28 |   const objA = { a: 1, b: 2 };
> 29 |   const objB = { ...objA };
     |                  ^
Run Code Online (Sandbox Code Playgroud)

我还尝试使用以下插件检查browserify预设:

// plugins.js
const browserify = require("@cypress/browserify-preprocessor");

module.exports = (on) => {
  const options = browserify.defaultOptions;

  // Check presets
  console.log(options.browserifyOptions.transform[1][1].presets);

  on("file:preprocessor", browserify(options));
};
Run Code Online (Sandbox Code Playgroud)

似乎已经有了babel-preset-env设置.

请问有什么想法吗?

Evg*_*ova 1

不确定这是否有帮助,但这对我有用:

我已经成功地轻松启用了新的 es 功能(包括扩展运算符),只需使用插件和此处的cypress-webpack-preprocessor示例

更多信息可以在此讨论中找到: https : //github.com/cypress-io/cypress/issues/905cypress文档

请注意,您还必须将所需的babel 预设作为node依赖项包含在package.json文件中并安装它们!

我还找到了这个预处理器:cypress-babel-esx-preprocessor,但从未尝试过,因为webpacker 解决方案立即起作用。

最后,您可能还想在cypress的 Electron 中观看此更新 Chrome 版本的请求,因为它应该开箱即用地启用es-2018 。