新生成的 DuskTestCase.php 抛出 "Undefined type 'Tests\CreatesApplication'"

Freshly generated DuskTestCase.php throws "Undefined type 'Tests\CreatesApplication'"

我正在尝试设置 Laravel Dusk 来测试我的 Laravel 站点,作为更大的 Github 操作 CI/CD 工作流程的一部分。

关注 the documentation,我 运行:

composer require --dev laravel/dusk
php artisan dusk:install

后面的命令创建了一个 tests/Browser 目录和一个 tests/DuskTestCase.php 文件。

问题是当我打开 DuskTestCase.php Intelephense 时立即抱怨:

Undefined type 'Tests\CreatesApplication'

当 运行 执行 GitHub 操作时,我也遇到了一个略有不同但明显相关的错误:

PHP Fatal error:  Trait "Tests\CreatesApplication" not found in /home/runner/work/mysite/mysite/tests/DuskTestCase.php on line 10

我的 composer.json 中有以下内容:

"autoload-dev": {
    "psr-4": {
        "Tests\": "tests/"
    }
}

...并且在本地也有 运行 composer dump-autoload

这是怎么回事?为什么 Dusk 生成的示例测试文件似乎附带错误,我该如何解决?

您是否从应用中删除了 CreatesApplication?它开箱即用,带有全新 Laravel 安装:https://github.com/laravel/laravel/blob/9.x/tests/CreatesApplication.php

或者,您可能是从 Laravel 的早期版本升级而来而错过了添加此文件。