web-dev-qa-db-ja.com

Laravel夕暮れ-クラス構成が存在しません

最近、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の40行目とその

public function baseUrl()
{
    return config('app.url');
}

それで、グローバルconfigヘルパーと何か関係があるように見えますか?

私は走っています

  • PHP 7.0.14
  • Laravel /フレームワーク5.4.8
  • Laravel/Dusk 1.0.5

完全なcomposer.lockを見ることができます https://Gist.github.com/OwenMelbz/c05172b33f6eb4483e37a56469b53722

指を交差させて、皆さんはいくつかのアイデアを持っています!

乾杯:)

9
Owen

この問題を抱えている他の人のために。

私は、PHPUnit 6をインストールしたcomposerファイルでの安定したセットを好みました。

これは「今日安定しました」-したがって、composer更新中にインストールされました。

PHPUnit 5にダウングレードすることで問題が修正されました-今日それを開始するタイミングが悪かったためです。

1
Owen

ログにこのエラーがありました

Class config does not exist

私の問題は、.envファイルで次のように構成変数を設定したことです。

APP_NAME=Application Name

スペースに注意してください。私がこれに変更したとき:

APP_NAME="Application Name" 

問題が解決しました

29
Petar Vasilev

問題は.envファイルApp_Nameにあります

元のファイルでは、このように書かれています>>> APP_NAME =アプリケーション名

このようにする APP_NAME = "アプリケーション名"

6
kibet H

私は同じ問題に遭遇しました、私の場合、.envはすべてクリーンで、ラップされていない空のスペースはありませんでした。

このエラーメッセージは、テストでsetup()メソッドを使用してテストケースの書き込み/デバッグを行い、その関数の最初のステートメントとしてparent::setup()を呼び出すのを忘れた場合にも発生する可能性があります。

protected $stuf;

function setup() {
    parent::setup();

    $this->stuf = 'stuf';
}

このエラーメッセージが表示されたときに他に何が起こる可能性があるかについて、非常に役立つ情報 こちら を見つけました。

0
Arnaud Bouchot

今日、これをルーメンアプリケーションで使用しました。調査して遊んでみたところ、PHPStormではphpunitコマンドに--no-configurationオプションを追加していたため、IDEでプロジェクトのPHPUnit設定を構成していなかったことがわかりました。

実行>構成の編集」をクリックして修正し、「デフォルト> PHPUnit」の下で「代替構成ファイルを使用」の右端にある小さなボタンをクリックします。オプションを選択し、「デフォルトの構成ファイル:」をプロジェクトのphpunit.xmlへの絶対パスに設定します。

お役に立てれば!

0
simonhamp

私にもこの問題がありました。私にとっては、dataProviderメソッド内でconfig()関数を呼び出したことが原因でした。 DataProvidersは、createApplication()メソッドがアプリケーションを初期化する前に呼び出され、DIコンテナーにデータを設定します。したがって、ヘルパー関数のconfig()呼び出しがコンテナーからconfigクラスを解決できないため、app('config')は失敗します。

0
Jim OHalloran