You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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的文件监听设置,确保系统能正常监听新增文件。
  • 强制指定测试文件路径启动监听
    如果以上方法都无效,尝试启动测试时强制指定包含所有测试文件:

    ng test --watch --include src/**/*.spec.ts
    

内容的提问来源于stack exchange,提问作者Quercus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 04:23:16