Angular 21 new unit test builder with Karma and zone.js

Đang mở
#32,905 3 bình luận 4 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
angular, typescript
Lĩnh vực
build-system, testing

Hướng nghiên cứu

Bắt đầu với packages/angular/build/src/builders/unit-test/runners/karma/executor.ts và so sánh cấu hình unit-test builder của Angular 20 và 21 trong angular.json. Đọc tài liệu migration cho testing được liên kết trong báo cáo và theo dõi cách Karma xử lý thiết lập test toàn cục. Được xem là hoàn tất khi cấu hình Karma dự kiến được thiết lập và tài liệu hoặc hành vi migration giải quyết đường dẫn nâng cấp được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area: @angular/cli gemini-triaged
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

20

Description

After upgrading from Angular 20 to 21, I ran into NGXXXX errors when running unit tests still with Karma and zone.js.
I found a closed issue and a supposed fix for it, but that did not resolve the issue.
Others experienced the same and implemented workarounds which actually do work: StackOverflow, Reddit.

I found that the solution could be that the angular.json has to be modified to be in line with the new project template like this:

  • change "builder": "@angular/build:karma" to "builder": "@angular/build:unit-test"
  • add "runner": "karma"
  • remove the rest of the properties (according to documentation these derive from the development configuration)

I did not find anything regarding the necessity of this change in the documentation, but if that is the case, it would be wise to mention it and maybe even add a migration schematic.

Also its not clear what is the alternative for "main": "src/test.ts" which contains global test setup. My guess is that the "setupFiles" property would be the successor (like "karmaConfig" became "runnerConfig"), but that is disabled for Karma.

So my question is: Where should I put global test setup with the new "unit-test" builder when using Karma?

Thanks in advance.

Minimal Reproduction

npm test

Exception or Error

Your Environment
Angular CLI       : 21.2.5
Node.js           : 24.14.0
Package Manager   : npm 11.9.0
Operating System  : win32 x64
Anything else relevant?

No response

Ngôn ngữ chính
TypeScript
Star
27k
Fork
11.8k
Merge trung bình
16 giờ 21 phút
Pull request đã merge (30 ngày)
170

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của angular/angular-cli

Tất cả issue của angular/angular-cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.