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 摘要。