首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nyc + mocha + es6模块

nyc + mocha + es6模块
EN

Stack Overflow用户
提问于 2020-06-22 15:48:44
回答 5查看 2.4K关注 0票数 5

我正在尝试使用nyc + mocha来获得使用es6模块语法的单元测试的测试覆盖率。当我运行mocha my_test.mjs时,一切运行正常。正确解析my_test.mjs中的依赖项(使用本机导入)。但是当我在这个命令前面加上nyc:nyc mocha my_test.mjs时,它就不再起作用了,抛出这个错误:

代码语言:javascript
复制
node_modules/mocha/lib/esm-utils.js:6
    return import(url.pathToFileURL(file));
           ^^^^^^

SyntaxError: Unexpected token import
    at Module._extensions..js (module.js:663:10)
    at Object.replacementCompile (nodejs/core/tests/cache.install.nodejs_install/node_modules/append-transform/index.js:60:13)
    at Module._extensions..js (module.js:663:10)

我尝试了不同的变种,nyc --require esm mocha my_test.mjs或强制节点--experimental-modules,但似乎都不起作用。

请注意,我使用的是最新版本的node、nyc和mocha

有什么想法吗?

EN

回答 5

Stack Overflow用户

发布于 2020-12-13 07:03:29

对于任何通过搜索找到它的人来说,c8代码覆盖工具都是我的替代品。我只是安装了它,并在我的package.json脚本中用'c8‘替换了'nyc’。

此外,如果你感兴趣,这里是开放的(在我写这篇文章的时候)纽约的问题:https://github.com/istanbuljs/nyc/issues/659

票数 5
EN

Stack Overflow用户

发布于 2020-07-02 20:30:00

在更新依赖项后,我遇到了同样的问题。我更新到了mocha版本8.x,同时仍然使用mocha.opts进行配置。

#4175:不再支持mocha.opts,v7.0.0之后已弃用并显示警告

请参阅发行说明:https://github.com/mochajs/mocha/releases/tag/v8.0.0

恢复到mocha 7.x最终帮助了我*。如果不想使用mocha7或更早的版本,可以用配置文件https://mochajs.org/#configuring-mocha-nodejs替换mocha.opts

*注:在此过程中,我还添加了

代码语言:javascript
复制
"@types/node": "14.0.14",
"@types/mocha": "7.0.2",

敬package.json。我在纽约的版本是"nyc": "15.1.0",,但我不确定是否有必要这样做来解决您的问题。

票数 3
EN

Stack Overflow用户

发布于 2020-07-27 20:50:59

冒着看起来高人一等的风险;我注意到上面你说你的版本是14.4.0,请仔细检查你的版本。我以为我用的是14.x版本,因为我更新了我的package.json,当我输入:

代码语言:javascript
复制
npm list | grep node

我得到了:

代码语言:javascript
复制
+-- @types/node@14.0.26
+-- nodemon@2.0.4
+-- ts-node@8.10.2

我对Node的熟悉程度足以让我被绊倒。如果我键入:

代码语言:javascript
复制
node --version

然后我发现我用的是一个更老的。

一旦我更新到最新版本(14.6.0),这个错误就消失了。我使用的是Windows,所以我不得不从nodejs.org下载最新版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62509699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档