recently upgraded a 5.3 project to 5.4 and all seemed good.
Today I started to implement Dusk however had hit an issue when running the example test
☁ footy-finance [5.4] ⚡ php artisan dusk
PHPUnit 6.0.0 by Sebastian Bergmann and contributors.
E 1 / 1 (100%)
Time: 162 ms, Memory: 6.00MB
There was 1 error:
1) Tests\Browser\ExampleTest::testBasicExample
ReflectionException: Class config does not exist
/Users/owen/Sites/footy-finance/vendor/laravel/framework/src/Illuminate/Container/Container.php:681
/Users/owen/Sites/footy-finance/vendor/laravel/framework/src/Illuminate/Container/Container.php:565
/Users/owen/Sites/footy-finance/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:105
/Users/owen/Sites/footy-finance/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:263
/Users/owen/Sites/footy-finance/vendor/laravel/dusk/src/TestCase.php:203
/Users/owen/Sites/footy-finance/vendor/laravel/dusk/src/TestCase.php:40
I've had a look at line 40 of TestCase.php
and its
public function baseUrl()
{
return config('app.url');
}
So it does look like something to do with the global config
helper anybody have any ideas?
I'm running
- PHP 7.0.14
- Laravel/Framework 5.4.8
- Laravel/Dusk 1.0.5
The full composer.lock can be seen https://gist.github.com/OwenMelbz/c05172b33f6eb4483e37a56469b53722
Fingers crossed you guys have some ideas!
Cheers :)
I had this error in the log
the problem with me was that in the .env file I had set a configuration variable in the following way:
note the space. When I changed it to this:
the problem got fixed
The issue is with .env file App_Name
in the original file its written this way>>> APP_NAME=Application Name
Make it like this APP_NAME="Application Name"
For anybody else who has had this issue.
I had prefer stable set in the composer file, which installed PHPUnit 6.
This was "made stable today" - thus it installed during a composer update.
Downgrading to PHPUnit 5 fixes the issue - so was bad timing starting it today.
I've also had this issue. For me it was caused by calling the
config()
function inside a dataProvider method. DataProviders are called before thecreateApplication()
method initialises the application, and populates the DI container. Henceconfig()
fails because theapp('config')
call in the helper function can't resolve theconfig
class from the container.I had this in a Lumen application today. After some investigation and playing around, I found that it was because in PHPStorm it was adding the
--no-configuration
option onto thephpunit
command because I hadn't configured my PHPUnit setup for the project in the IDE.I corrected that by clicking 'Run > Edit Configurations' and then under 'Defaults > PHPUnit' click the little button to the far right of the 'Use alternative configuration file:' option and set the 'Default configuration file:' to the full path to your project's
phpunit.xml
.Hope this helps!