gpt4 book ai didi

javascript - 如何获得 nyc 覆盖以使用 es6 导入(.mjs 文件)

转载 作者:行者123 更新时间:2023-11-30 14:21:21 31 4
gpt4 key购买 nike

我通常使用 nyc为我的单元测试提供覆盖。所有用于 ES6 之前的 require('myModule') 测试的 honkey dorey。我无法让它与使用 ES6 导入的单元测试一起使用。 没有覆盖的测试使用 --experimental-modules 和 .mjs 文件:

package.json

"scripts": {
"test": "node --experimental-modules ./test/test.mjs",
... others deleted to save space
},

一切正常。我正在使用 Tape用于测试是否重要。输出看起来像:

(node:9360) ExperimentalWarning: The ESM module loader is experimental.
TAP version 13
# number
ok 1 should be equal
(... more deleted)

但是当我尝试使用 nyc 时,例如nyc --reporter=lcov --extension .mjs npm test

我得到一个错误:

(node:7304) ExperimentalWarning: The ESM module loader is experimental.
Error [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension: C:/Users/Morgan/.node-spawn-wrap-6952-61a26e1bb867/node
at exports.resolve (internal/loader/ModuleRequest.js:126:13)
at Loader.resolve (internal/loader/Loader.js:48:40)
....

我正在使用 node 版本 8.9.1 和 nyc 版本 13.0.1,在 Windows 上运行。

最佳答案

作为the documentation声明,应该明确添加 .mjs 支持:

Supporting file extensions can be configured through either the configuration arguments or with the nyc config section in package.json.

nyc --extension .mjs npm test

{
"nyc": {
"extension": [
".mjs"
]
}
}

关于javascript - 如何获得 nyc 覆盖以使用 es6 导入(.mjs 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52692225/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com