angular / angular/angular-cli

Easier way to provide disableConsoleIntercept to ng test with vitest

未關閉
#32,726 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
area: @angular/cli gemini-triaged
主要語言
TypeScript
星號
27k
分支
11.8k
平均合併
14 小時 23 分鐘
30 天內合併 PR
162

描述

### Command

test

### Description

Vitest by default captures the console output, which reduces the ways available to debug tests.

However, there is no direct equivalent option on `ng test` to enable logging and no direct way to pass the `--disableConsoleIntercept` flag to the underlying vitest command.

Attempting to run `ng test --disableConsoleIntercept`
```
Error: Unknown argument: disableConsoleIntercept
```

Attempting to run `ng test -- --disableConsoleIntercept` results in

```
Option '--' has been specified multiple times. The value '--disableConsoleIntercept' will be used.
Error: Schema validation failed with the following errors:
Data path "" must NOT have additional properties().
 ELIFECYCLE  Test failed. See above for more details.
```

Instead it seems like you would have to create a custom vitest configuration, with several other properties, and then provide that in angular.json which is rather heavy handed for simple one-time debugging.

### Describe the solution you'd like

Simple forwarding of arguments `ng test -- --disableConsoleIntercept` which would pass the arguments to the underlying vitest command.

### Describe alternatives you've considered

* Support for this flag on the ng test command directly (though this is not a generic argument for all test types)
* Support for some "forwardedArgs" flag on ng test that allows for flags to be forwarded

貢獻指南

開啟貢獻指南

研究方向

先從 ng test 命令的引數解析及其與 Vitest 的整合開始,然後重現回報的命令列錯誤。完成標準是:-- 之後的引數能夠在沒有 schema 驗證錯誤的情況下傳遞給 Vitest,包括 --disableConsoleIntercept,並且相關命令測試包含覆蓋率。

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

評估

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

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

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