angular / angular/angular-cli

@angular/build:karma ignores overrides in karma.conf.js

未關閉
#30,956 3 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
area: @angular/build devkit/build-angular:karma freq1: low severity3: broken type: bug/fix
主要語言
TypeScript
星號
27k
分支
11.8k
平均合併
14 小時 23 分鐘
30 天內合併 PR
162

描述

### Command

test

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

Using the new `@angular/build:karma` builder, coverage overrides defined in the `karma.conf.js` are ignored.

### Minimal Reproduction

* clone https://github.com/fynnfeldpausch/karma-coverage
* take a look at `app.ts` - there is an additional method
* take a look at `karma.conf.js` and the defined coverage
* global coverage is set to 80%
* local coverage is set to 0% for `app.ts`
* run `ng test -- --no-watch --no-progress --browsers=ChromeHeadless --code-coverage`

### Exception or Error

```text
Test run fails with coverage errors:

19 08 2025 15:57:46.079:ERROR [coverage]: Chrome Headless 139.0.0.0 (Mac OS 10.15.7): Coverage for statements (75%) does not meet per-file (/repro-app/src/app/app.ts) threshold (80%)
19 08 2025 15:57:46.079:ERROR [coverage]: Chrome Headless 139.0.0.0 (Mac OS 10.15.7): Coverage for lines (66.66%) does not meet per-file (/repro-app/src/app/app.ts) threshold (80%)
19 08 2025 15:57:46.079:ERROR [coverage]: Chrome Headless 139.0.0.0 (Mac OS 10.15.7): Coverage for functions (0%) does not meet per-file (/repro-app/src/app/app.ts) threshold (80%)
```

### Your Environment

```text
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/

Angular CLI: 20.1.6
Node: 24.2.0
Package Manager: npm 11.3.0
OS: darwin arm64

Angular: 20.1.7
... common, compiler, compiler-cli, core, forms
... platform-browser, router

Package Version
------------------------------------------------------
@angular-devkit/architect 0.2001.6
@angular-devkit/core 20.1.6
@angular-devkit/schematics 20.1.6
@angular/build 20.1.6
@angular/cli 20.1.6
@schematics/angular 20.1.6
rxjs 7.8.2
typescript 5.8.3
zone.js 0.15.1
```

### Anything else relevant?

_No response_

貢獻指南

開啟貢獻指南

研究方向

複製連結的 karma-coverage 重現專案並檢查 app.ts 和 karma.conf.js,然後執行列出的 ng test 命令以重現 coverage 失敗。追蹤 @angular/build:karma 如何處理設定,並驗證依檔案設定的 coverage 覆寫會受到遵循,同時全域閾值仍然有效。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
angular, typescript
領域
build-system, testing
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。