最近、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
ヘルパーと何か関係があるように見えますか?
私は走っています
完全なcomposer.lockを見ることができます https://Gist.github.com/OwenMelbz/c05172b33f6eb4483e37a56469b53722
指を交差させて、皆さんはいくつかのアイデアを持っています!
乾杯:)
この問題を抱えている他の人のために。
私は、PHPUnit 6をインストールしたcomposerファイルでの安定したセットを好みました。
これは「今日安定しました」-したがって、composer更新中にインストールされました。
PHPUnit 5にダウングレードすることで問題が修正されました-今日それを開始するタイミングが悪かったためです。
ログにこのエラーがありました
Class config does not exist
私の問題は、.envファイルで次のように構成変数を設定したことです。
APP_NAME=Application Name
スペースに注意してください。私がこれに変更したとき:
APP_NAME="Application Name"
問題が解決しました
問題は.envファイルApp_Nameにあります
元のファイルでは、このように書かれています>>> APP_NAME =アプリケーション名
このようにする APP_NAME = "アプリケーション名"
私は同じ問題に遭遇しました、私の場合、.envはすべてクリーンで、ラップされていない空のスペースはありませんでした。
このエラーメッセージは、テストでsetup()
メソッドを使用してテストケースの書き込み/デバッグを行い、その関数の最初のステートメントとしてparent::setup()
を呼び出すのを忘れた場合にも発生する可能性があります。
protected $stuf;
function setup() {
parent::setup();
$this->stuf = 'stuf';
}
このエラーメッセージが表示されたときに他に何が起こる可能性があるかについて、非常に役立つ情報 こちら を見つけました。
今日、これをルーメンアプリケーションで使用しました。調査して遊んでみたところ、PHPStormではphpunit
コマンドに--no-configuration
オプションを追加していたため、IDEでプロジェクトのPHPUnit設定を構成していなかったことがわかりました。
「実行>構成の編集」をクリックして修正し、「デフォルト> PHPUnit」の下で「代替構成ファイルを使用」の右端にある小さなボタンをクリックします。オプションを選択し、「デフォルトの構成ファイル:」をプロジェクトのphpunit.xml
への絶対パスに設定します。
お役に立てれば!
私にもこの問題がありました。私にとっては、dataProviderメソッド内でconfig()
関数を呼び出したことが原因でした。 DataProvidersは、createApplication()
メソッドがアプリケーションを初期化する前に呼び出され、DIコンテナーにデータを設定します。したがって、ヘルパー関数のconfig()
呼び出しがコンテナーからconfig
クラスを解決できないため、app('config')
は失敗します。