【发布时间】:2019-07-10 00:53:42
【问题描述】:
我正在使用 ESM 加载我的模块,并以这种方式使用它们:
// More info on why this is needed see (https://github.com/mochajs/mocha/issues/3006)
async function wire(){
await import("./Sanity.spec.mjs");
await import("./Other.spec.mjs");
run();
}
wire();
我使用nyc mocha --delay --exit ./test/suite.js 运行这些测试,但是当我运行伊斯坦布尔时,它似乎无法识别我的导入并且无法提供覆盖率信息...
3 passing (14ms)
----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files | 0 | 0 | 0 | 0 | |
----------|----------|----------|----------|----------|-------------------|
如何让伊斯坦布尔识别 ESM 加载代码?
【问题讨论】:
-
我已经为此苦苦挣扎了一段时间。还没找到解决办法。这可能是一个错误,因为在我的简单库中 nyc + esm 似乎工作正常,直到某个时间点,当我的代码库变得更加复杂时。您可以尝试使用
include和exclude过滤器调整您的命令,之后我得到了非空覆盖,但没有达到所需的状态。我最终将我的代码转换为 CJS 并对其进行覆盖。报告变得更加混乱,但至少我得到了实际信息。希望这对您有所帮助。如果你能找到解决方案,你可以回答你的问题。我也很想调查您的解决方案。
标签: mocha.js istanbul es6-module-loader ecma