我正在使用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
运行这些测试,但是当我运行 Istanbul 时,它似乎无法识别我的导入并且无法提供覆盖信息...
3 passing (14ms)
----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files | 0 | 0 | 0 | 0 | |
----------|----------|----------|----------|----------|-------------------|
我该如何让Istanbul识别已加载的ESM代码?
include
和exclude
过滤器来调整命令,我在那之后得到了非空覆盖率,但并没有达到期望的状态。最终,我将我的代码转换为 CJS 并在其上运行覆盖率。报告变得混乱了,但至少我得到了实际信息。希望这能对你有所帮助。如果你找到了解决方案,可以回答你的问题。我也很愿意研究你的解决方案。 - Strider