Angular 16测试运行器无法检测新增spec.ts文件问题求助
解决Angular 16
ng test不识别新增.spec.ts文件的问题 以下是几个实测有效的解决办法,按优先级尝试:
检查angular.json的测试路径配置
打开项目根目录的angular.json,定位到projects -> [你的项目名称] -> architect -> test -> options节点,确认include字段的配置是否覆盖了所有可能的测试文件路径,正确配置应该是:"include": ["src/**/*.spec.ts"]如果之前的配置只指定了特定目录(比如
src/app/**/*.spec.ts),新增在其他目录的测试文件就不会被检测到。同时检查是否存在exclude字段意外排除了新文件所在的位置。禁用缓存运行测试
缓存机制偶尔会导致文件变更检测异常,尤其是新增文件的场景。运行以下命令启动测试:ng test --no-cache之后再新增.spec.ts文件,看看是否能被自动识别。
更新Angular CLI到16分支最新版本
Angular 16初期版本可能存在文件监听的小bug,执行以下命令更新CLI:npm install @angular/cli@16 --save-dev更新完成后重启测试运行器,再测试新增文件的识别情况。
调整系统文件监听限制
部分Linux或macOS系统默认的文件监听数量上限较低,导致新增文件无法被检测到:- Linux系统:执行以下命令临时调整上限,重启后生效:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p - macOS系统:可以通过修改
sysctl参数或检查IDE的文件监听设置,确保系统能正常监听新增文件。
- Linux系统:执行以下命令临时调整上限,重启后生效:
强制指定测试文件路径启动监听
如果以上方法都无效,尝试启动测试时强制指定包含所有测试文件:ng test --watch --include src/**/*.spec.ts
内容的提问来源于stack exchange,提问作者Quercus
相关产品推荐
相关产品推荐

