Unhandled promise rejections aren't properly reported in tests
- Ngôn ngữ chính
- TypeScript
- Star
- 27k
- Fork
- 11.8k
- Merge trung bình
- 14 giờ 23 phút
- Pull request đã merge (30 ngày)
- 162
Mô tả
### Which @angular/* package(s) are the source of the bug?
Don't known / other
### Is this a regression?
Yes
### Description
In an Angular project that uses zone.js, unhandled promise rejections are not reported. In a zoneless Angular project, they are reported twice.
Steps to reproduce:
1. Create a new Angular project.
2. Paste the code below into a spec file.
3. `npm t`
```
it('triggers an unhandled rejection', function(done) {
Promise.reject(new Error('nope'));
// Make sure the unhandled rejection event has plenty of time to fire before
// Jasmine finishes running. This helps distinguish between timing issues
// (event is firing a bit later than usual) and the event not firing at all.
setTimeout(done, 1000);
});
```
Expected result: The spec should fail with a single "Unhandled promise
rejection: Error: nope" error.
Observed:
* If the project was set up zoneless, the spec fails with two copies of the expected error.
* Otherwise, the spec passes.
### Please provide a link to a minimal reproduction of the bug
https://github.com/sgravrock/ng-unhandled-rejection
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 20.1.5
Node: 20.19.0
Package Manager: npm 10.8.2
OS: darwin arm64
Angular: 20.1.6
... common, compiler, compiler-cli, core, forms
... platform-browser, router
Package Version
------------------------------------------------------
@angular-devkit/architect 0.2001.5
@angular-devkit/core 20.1.5
@angular-devkit/schematics 20.1.5
@angular/build 20.1.5
@angular/cli 20.1.5
@schematics/angular 20.1.5
rxjs 7.8.2
typescript 5.8.3
zone.js 0.15.1
```
### Anything else?
_No response_
Hướng dẫn đóng góp
Hướng nghiên cứu
Tái hiện vấn đề với spec được cung cấp trong một dự án Angular mới và chạy `npm t`, so sánh các cấu hình zoneless và zone.js. Các tệp dự án liên quan không được nêu tên; hãy dùng thiết lập kiểm thử và bản tái hiện tối thiểu tại https://github.com/sgravrock/ng-unhandled-rejection làm điểm bắt đầu. Hoàn tất khi spec báo cáo chính xác một rejection chưa được xử lý trong cả hai cấu hình.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- angular, typescript
- Lĩnh vực
- testing
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 42/100