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

Laravel 11修改User模型路径后测试仍报错:Class "App\User"未找到

解决Laravel 11迁移User模型后PHPUnit测试报"Class 'App\User' not found"的问题

遇到这种情况,大概率是缓存或自动加载映射未更新导致的,按以下步骤逐一排查:

  • 清除PHPUnit内部缓存
    PHPUnit会缓存类映射信息,即便已修改测试文件的引用路径,旧缓存仍可能生效。执行命令清除:

    ./vendor/bin/phpunit --clear-cache
    

    也可手动删除项目根目录下的.phpunit.cache文件夹(若存在)。

  • 更新Composer自动加载规则
    模型路径变更后,需重新生成Composer的自动加载映射,确保新路径的User模型能被正确识别:

    composer dump-autoload
    
  • 检查所有测试文件的类引用
    确认Breeze生成的所有测试文件(如tests/Feature/Auth/LoginTest.php、RegisterTest.php等)中,User类的use语句已替换为新路径:

    // 替换旧的 use App\User;
    use App\Infra\Models\User;
    

    注意不要遗漏任何测试文件,单个未更新的文件都会引发报错。

  • 修正Laravel认证配置
    打开config/auth.php,找到providers.users.model配置项,将其值改为新的模型类:

    'model' => App\Infra\Models\User::class,
    

    Breeze的多数测试依赖Laravel认证系统,若此处未更新,测试时会尝试加载旧路径的User类。

  • 清除Laravel应用缓存
    最后清除Laravel的配置、路由等缓存,避免旧配置残留:

    php artisan cache:clear
    php artisan config:clear
    php artisan route:clear
    

完成以上步骤后,重新运行php artisan test即可解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:04:55