PaN*_*175 5 sonarqube jestjs angular nrwl-nx
我正在运行一个带有@nrwl/nx 设置和 Jest 进行单元测试的 Angular 项目。我已将 Jest 配置为为每个应用程序和库生成 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
Run Code Online (Sandbox Code Playgroud)
我分析了两个版本的 lcov 文件,我注意到生成的路径发生了变化。
Jest 25.1(不起作用)
SF:apps/projectname/src/environments/environment.ts
Run Code Online (Sandbox Code Playgroud)
Jest 24.1(作品)
SF:/mnt/c/Users/Patrick/Projects/projectname/apps/projectname/src/environments/environment.ts
Run Code Online (Sandbox Code Playgroud)
当我手动将其更改为以下内容时,这也有效:
SF:src/environments/environment.ts
Run Code Online (Sandbox Code Playgroud)
但现在我有点卡住了,因为我没有找到一种方法来告诉 Jest 以旧方式生成路径或告诉 Sonar 现在路径是不同的。
小智 9
我解决了它将“coverageReporters”配置从根文件夹中的“jest.config.js”移动到项目文件夹中的“jest.config.ts”的问题,并在我设置的lcov配置中:
coverageReporters: ['html', ["lcovonly", {"projectRoot": __dirname}], 'text-summary'],
Run Code Online (Sandbox Code Playgroud)
将 projectRoot 设置为 __dirname 使“SF”路径再次相对。
| 归档时间: |
|
| 查看次数: |
2568 次 |
| 最近记录: |