ng test does not run tests from new test files when watching
- Dominant language
- TypeScript
- Stars
- 27k
- Forks
- 11.8k
- Avg merge
- 14h 23m
- Merged PRs (30d)
- 162
Description
### Command
test
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
While `ng test` is running and watching for changes, if you add a new test file, that file is detected and causes the tests to run again, but the tests in that new file are not included in the test run. To include the tests from the new file, you need to restart the `ng test` process.
### Minimal Reproduction
1. In a terminal, run:
```
ng new watch --skip-git --style css --ssr=false
ng test
```
2. Three tests are run.
3. In a second terminal, run:
```
ng g component widget
```
4. A new component is created with a test file that contains one test.
5. The new test file is detected and the tests recompile.
6. **Only three tests are run.**
7. Add another test to the new component's test file.
8. The change is detected and the tests recompile.
9. **Only three tests are run.**
10. Kill the `ng test` process.
11. Run `ng test` again.
12. **Five tests are run.**
### Exception or Error
_No response_
### Your Environment
```text
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 17.0.3
Node: 20.9.0
Package Manager: npm 10.1.0
OS: win32 x64
Angular:
...
Package Version
------------------------------------------------------
@angular-devkit/architect 0.1700.3 (cli-only)
@angular-devkit/core 17.0.3 (cli-only)
@angular-devkit/schematics 17.0.3 (cli-only)
@schematics/angular 17.0.3 (cli-only)
```
### Anything else relevant?
Here's a screen recording to help explain what I'm seeing.

Contributor guide
Research direction
Reproduce the behavior with the listed `ng new`, `ng test`, and `ng g component widget` commands, then trace the `ng test` watch flow that detects and recompiles the new test file. Compare the initial and restarted test runs; done means tests in newly added files execute during watching without restarting the process.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- cli, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100