Allow tests to pass without any test files (e.g. via Vitest `passWithNoTests`)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 72/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- angular, typescript
Hướng nghiên cứu
Bắt đầu với packages/angular/build/src/builders/unit-test/runners/vitest/build-options.ts, khoảng dòng 161-170, nơi mô tả kiểm tra tùy chỉnh khi không có tệp kiểm thử. Xem lại cách lệnh kiểm thử truyền các tùy chọn của runner cho Vitest, sau đó xác minh rằng một dự án không có tệp kiểm thử sẽ thành công thông qua tùy chọn passWithNoTests của Vitest, trong khi hành vi mặc định vẫn không thay đổi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Command
test
Description
Executing the test command on a project (app or lib) that does not have any test files (yet) will always lead to the following error message:
An exception occurred while getting runner-specific build options:
Error: No tests found matching the following patterns:
- Included: **/*.spec.ts, **/*.test.ts
Please check the 'test' target configuration in your project's 'angular.json' file.
However, many use cases exist where this behaviour is unintended. For example, a freshly generated project (even more so in a monorepo) will often start out without any real test cases defined, and it even may take some time for the first ones to be written. Even at this early point, though, I (as a developer) will usually want to already integrate test execution into a quality gate setup (like continuous integration).
Currently, the Angular CLI does not offer a way to allow the test command to succeed when no test files exist.
Related issue: https://github.com/nrwl/nx/issues/34241
Describe the solution you'd like
The most pragmatic solution would probably be:
- Remove the custom Angular CLI check for test files, see: https://github.com/angular/angular-cli/blob/5adc92541433be23fc2246db5a199cf5c0dc9e67/packages/angular/build/src/builders/unit-test/runners/vitest/build-options.ts#L161-L170
- Instead, rely on Vitest and its
passWithNoTestsoption - which isfalseby default, so no breaking change is to be expected (besides a different log message)
Describe alternatives you've considered
Alternatively:
- The Angular CLI test command could also expose its own option. This would however collide with the respective Vitest option and thus require conflict resolution / priority checks. Plus, skimming the source code leads me to believe that the Angular CLI is currently not actively loading any custom Vite config, just passing it on - so changes here would presumably affect multiple places.
- 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
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của angular/angular-cli
-
Can't use an array of hostnames in --allowedHosts cli parameter in @angular/build:dev-server Đang mởarea: @angular/build gemini-triaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
angular/angular-cli#33955 ·
-
angular/build:library area: @angular/build gemini-triaged
angular/angular-cli#34131 · 1 người được giao ·
-
angular/build:library area: @angular/build gemini-triaged
angular/angular-cli#34130 · 1 người được giao ·
-
angular/build:library area: @angular/build gemini-triaged
angular/angular-cli#34128 · 1 người được giao ·
-
angular/build:library area: @angular/build gemini-triaged
angular/angular-cli#34124 · 1 bình luận · 1 người được giao ·
Tất cả issue của angular/angular-cli
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Đang mởbug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
Client support matrix inclusion Đang mởenhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
calcite-components needs triage refactor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Esri/calcite-design-system#15203 ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
fullcalendar/fullcalendar#8106 ·