反射异常:拉拉维尔 5.4



>我在运行phpunit时出现此异常。我正在运行最新的 Laravel 5.4PHPUnit 5.7.23

ReflectionException: Class config does not exist
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:729
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:608
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:575
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:728
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Container/Container.php:1172
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php:57
/home/vagrant/Code/ProcessingHub-App/vendor/myvendor/core/src/app/Providers/CoreServiceProvider.php:50
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:574
/home/vagrant/Code/ProcessingHub-App/tests/CreatesApplication.php:18
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:89
/home/vagrant/Code/ProcessingHub-App/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:66
/home/vagrant/Code/ProcessingHub-App/tests/TestCase.php:27
/home/vagrant/Code/ProcessingHub-App/tests/Unit/PassportTest.php:30

如您所见,异常来自CoreServiceProvider,这是我自己的服务提供商之一,正如您在此处看到的那样,那里没有什么奇怪的事情发生

/**
 * Register any package services.
 *
 * @return void
 */
public function register()
{
    $this->registerEloquentFactoriesFrom(__DIR__.'/../../database/factories');
    $this->mergeConfigFrom(
        __DIR__.'/../../config/fields.php', 'fields'
    );
}

字段内容.php

return [];

如果我赞扬$this->mergeConfigFrom()它就像一个魅力,但奇怪的是我在多个服务提供商中这样做,并且在这些类中这不是问题。

我真的尝试了一切。

  • 跑步:composer dump-autoload
  • 跑步:php artisan optimize
  • 删除供应商并重新安装所有内容
  • 到处调试,但没有有用的信息
  • 用基本测试替换测试拉拉维尔的例子也不起作用
  • 我已经用一个新的简单.env替换了我的.env没有帮助。

我的问题是:

安妮知道我该如何解决这个问题吗?

在我用一个新的Laravel安装更多地查看\tests目录之后,我看到了我盯着几个小时的东西。

应用程序

在引导应用程序之前尝试注册服务提供商。很抱歉给您带来麻烦(这不是我的代码)。

namespace Tests;
use IlluminateContractsConsoleKernel;
trait CreatesApplication
{
    /**
     * Creates the application.
     *
     * @return IlluminateFoundationApplication
     */
    public function createApplication()
    {
        $app = require __DIR__.'/../bootstrap/app.php';
        $app->make(Kernel::class)->bootstrap();
        $app->register(StepOrangeCoreProvidersCoreServiceProvider::class);
        return $app;
    }
}

相关内容

  • 没有找到相关文章

最新更新