typescript - 纽约市报告中显示 "Unable to lookup source"

标签 typescript code-coverage istanbul hardhat

我正在使用 nyc 生成覆盖率报告在节点 16 中。

但是,由于某种原因,覆盖率报告(lcov 和 html)被搞乱了,因为源文件的路径是错误的。他们遵循以下模式:

<relative path>file:<absolute path><file name>

例如SF:src/rest/file:/home/<user>/code/<project>/src/rest/auth.tslcov.info

因此,我的 html 覆盖率报告显示如下错误

Unable to lookup source: /home/<user>/code/<project>/src/rest/file:/home/<user>/code/<project>/src/rest/auth.ts (ENOENT: no such file or directory, open ...

适用于所有文件。

我发现,源映射的路径以“file:///”开头。

此外,在“coverage”文件夹中,还有一些名为“file:”的不起眼的文件夹,看起来类似于里面有文件夹的绝对路径。

我不明白这是为什么,但我希望报告使用我的项目目录的相对路径。

最佳答案

我找到了原因:最近有一个 ts-node 补丁更新,从 10.8.0 到 10.8.1 - 他们在源映射中切换到文件 URI。

降级到 10.8.0 解决了我的问题。

关于 nyc 的错误/兼容性问题,ts-node 的存储库中正在进行讨论:https://github.com/TypeStrong/ts-node/issues/1790

关于typescript - 纽约市报告中显示 "Unable to lookup source",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72771145/

相关文章:

unit-testing - 数据收集器 'Code Coverage' 未能提供初始化信息

OpenCover 中表达式的分支覆盖率

node.js - ES6 Istanbul 尔代码覆盖率 : how to test correctly a branch

typescript - 输入gapi.savetoandroidpay

c# - 将 TypeScript 编译器加载到 ClearScript, "WScript is undefined",不可能的任务?

javascript - 为不同的环境构建 Electron

javascript - Angular 单元测试中的业力代码覆盖率报告中的 1x 3x 等是什么意思?

typescript - 如何在注销按钮 View 的 onclick 中使用 angular 2 触发 nativescript 中的 'exit' 应用程序事件?

testing - Appveyor 测试脚本的目的?与 Codecov 集成

javascript - 如何在 Istanbul 尔覆盖 React jsx 文件?