I’m trying to set up Laravel Dusk to test my Laravel site as part of a larger Github Action CI/CD workflow.
Following the documentation, I ran:
composer require --dev laravel/dusk php artisan dusk:install
The latter command created a tests/Browser
directory and a tests/DuskTestCase.php
file.
The problem is that when I open up DuskTestCase.php
Intelephense immediately complains:
Undefined type 'TestsCreatesApplication'
I also get a slightly different, but clearly related, error when running the GitHub Action:
PHP Fatal error: Trait "TestsCreatesApplication" not found in /home/runner/work/mysite/mysite/tests/DuskTestCase.php on line 10
I have the following in my composer.json
:
"autoload-dev": { "psr-4": { "Tests\": "tests/" } }
…and have also run composer dump-autoload
locally.
What’s going on here? Why does the example test file generated by Dusk seem to ship with an error and what can I do to fix it?
Advertisement
Answer
Have you deleted the CreatesApplication
from your app? It comes out of the box with a fresh Laravel installation: https://github.com/laravel/laravel/blob/9.x/tests/CreatesApplication.php
Alternatively perhaps you upgraded from an earlier version of Laravel and missed the addition of this file.