最近将一个5.3项目升级到5.4,看起来一切都很好。
今天我开始实施Dusk但是在运行示例测试时遇到了问题
☁ 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
我看过TestCase.php
及其
public function baseUrl()
{
return config('app.url');
}
所以它看起来与全局config
帮助器有什么关系,任何人都有任何想法?
我正在运行
可以看到完整的composer.lock https://gist.github.com/OwenMelbz/c05172b33f6eb4483e37a56469b53722
手指越过你们,你们有一些想法!
干杯:)
答案 0 :(得分:27)
我在日志中遇到此错误
Class config does not exist
我的问题是在.env文件中我按以下方式设置了配置变量:
APP_NAME=Application Name
注意空间。当我把它更改为:
APP_NAME="Application Name"
问题得到解决
答案 1 :(得分:5)
问题在于.env文件 APP_NAME
在原始文件中以这种方式编写>>> APP_NAME =申请名称
像这样 APP_NAME ="应用程序名称"
答案 2 :(得分:2)
就我而言,此解决方案有效:
1)删除bootstrap/cache
文件夹中的所有内容
2)运行composer dump
命令
答案 3 :(得分:1)
对于遇到此问题的其他人。
我更喜欢在安装PHPUnit 6的作曲家文件中使用stable set。
这是今天稳定的#34; - 因此它在作曲家更新期间安装。
降级到PHPUnit 5修复了这个问题 - 所以今天启动它的时间很糟糕。
答案 4 :(得分:0)
我今天在Lumen应用程序中有这个。经过一番调查和游戏后,我发现这是因为在PHPStorm中它将--no-configuration
选项添加到phpunit
命令中,因为我没有为IDE中的项目配置我的PHPUnit设置。 / p>
我点击了运行>修改配置'然后在'默认值>下PHPUnit '单击“使用备用配置文件:”选项最右侧的小按钮,并将“默认配置文件:”设置为项目phpunit.xml
的完整路径。
希望这有帮助!
答案 5 :(得分:0)
我也遇到了这个问题。对我来说,这是由于在dataProvider方法中调用config()
函数引起的。在createApplication()
方法初始化应用程序并填充DI容器之前,将调用DataProvider。因此,config()
失败了,因为辅助函数中的app('config')
调用无法从容器中解析config
类。
答案 6 :(得分:0)
我只是遇到了同样的问题,在我的情况下,.env全部干净,没有展开的空白空间。
在编写/调试测试用例时,在该测试中使用setup()
方法,而忘记调用parent::setup()
作为该函数的第一条语句时,也会发生此错误消息。
protected $stuf;
function setup() {
parent::setup();
$this->stuf = 'stuf';
}
当您收到此错误消息时,我发现了非常有用的信息here。