Easier way to provide disableConsoleIntercept to ng test with vitest
- Dominant language
- TypeScript
- Stars
- 27k
- Forks
- 11.8k
- Avg merge
- 14h 23m
- Merged PRs (30d)
- 162
Description
### 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
Contributor guide
Research direction
Start with the ng test command's argument parsing and its Vitest integration, then reproduce the reported command-line errors. Done means arguments after -- reach Vitest without schema validation errors, including --disableConsoleIntercept, with coverage in the relevant command tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- cli, testing
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100