我正在尝试对文件中包含某些ES6样式的导入运行Mocha测试,但我不断收到错误消息:
import assert from 'assert';
^^^^^^
SyntaxError: Unexpected identifier
我试图同时调用摩卡
mocha --require @babel/register --recursive
和
mocha --require babel-register --recursive
但是错误不会消失。
运行ES6样式Mocha测试的正确方法是什么?
答案 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"]
}
解决了我的问题。