我正在运行一个带有@nrwl/nx 设置和用于单元测试的 Jest 的 Angular 项目。我已将 Jest 配置为为每个应用程序和 lib 生成 lcov 文件,然后由 SonarQube Scanner 拾取以报告测试覆盖率。每个库都是它自己的声纳模块。
最近我将我的 Jest 版本从 24.1.0 更新到了 25.1.0。从那时起,我在 SonarQube 中的覆盖率始终为 0%,因为扫描仪无法找到文件:
WARN: Could not resolve 1 file paths in [/mnt/c/Users/Patrick/Projects/projectname/apps/projectname/../../coverage/apps/projectname/lcov.info], first unresolved path: apps/projectname/src/environments/environment.ts
我分析了两个版本的 lcov 文件,我注意到生成的路径发生了变化。
Jest 25.1(不起作用)
SF:apps/projectname/src/environments/environment.ts
开玩笑 24.1(工作)
SF:/mnt/c/Users/Patrick/Projects/projectname/apps/projectname/src/environments/environment.ts
当我手动将其更改为以下内容时,这也有效:
SF:src/environments/environment.ts
但是现在我有点卡住了,因为我没有找到一种方法来告诉 Jest 以旧方式生成路径或告诉 Sonar 现在路径是不同的。