带有ES6样式导入的摩卡测试

时间:2019-07-12 09:57:38

标签: javascript mocha

我正在尝试对文件中包含某些ES6样式的导入运行Mocha测试,但我不断收到错误消息:

import assert from 'assert';
       ^^^^^^

SyntaxError: Unexpected identifier

我试图同时调用摩卡 mocha --require @babel/register --recursivemocha --require babel-register --recursive 但是错误不会消失。

运行ES6样式Mocha测试的正确方法是什么?

3 个答案:

答案 0 :(得分:3)

对于任何来自Google的人:

您还可以安装esm:npm i esm --save-dev或使用首选的软件包管理器。

然后将其作为参数传递给摩卡:mocha 'index.test.js' --require esm

答案 1 :(得分:1)

尝试以下代码

import { strict as assert } from 'assert';

import * as assert from 'assert';

希望这会有所帮助

答案 2 :(得分:0)

我在这里找到了问题的答案-> https://dev.to/bnorbertjs/my-nodejs-setup-mocha--chai-babel7-es6-43ei

这个package.json文件

{
  "name": "mochatest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha --require @babel/register --recursive"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@babel/core": "^7.1.2",
    "@babel/preset-env": "^7.5.4",
    "@babel/register": "^7.4.4",
    "mocha": "^6.1.4"
  },
  "dependencies": {}
}

与此.babelrc一起

{
  "presets": ["@babel/preset-env"]
}

解决了我的问题。