私はConfig
ファサードに依存するパッケージを開発中です。 コード自体は問題なく動作しますが、テスト時に問題が発生しています。 モックはLaravelなしのファサードを照らします
Config::shouldReceive('foo.bar')
->andReturn(true);
として多くのothers
が、私はいくつかの問題にぶつかった:当初、私はこのコードを使用していました。
私は後でConfig
ファサードisn't encouragedを嘲笑して読んでいます。
Config::set('foo.bar', true);
は、正常に動作します。
しかし、私の問題は、私はそうではありません。 RuntimeException: A facade root has not been set.
この時点で、いくつかは、私はちょうどConfig
リポジトリ依存性を注入すべきであることを示唆しているかもしれませんが、私はConfig
ファサードを使用しています:私はちょうど私が得るので、それが動作しませんので、いくつかのIlluminate
のパッケージに依存していますEloquent
モデルで使用されている特性では、DIは機能しません。
私はこれに取り組むことができる他の方法はありますか?
ありがとうございます!
PS:この質問にも同様の問題に実行している人のためにLaracasts
あなたの問題は私には関係ありません。 'Illuminate'パッケージのほとんどを持っているLumenを使用しているので、' Config :: set() 'は' bootstrap/app.php'でFacadesを有効にしている限り動作します。私のユースケースは、独立した環境でLaravel/Lumenパッケージをテストするためのものです。あなたが自由にフレームワーク全体を持っていないので、Testbenchに頼らざるを得ません。また、ドキュメントに記載されているように、 'Config'を嘲笑することはベストプラクティスではありません。したがって、downvote。 –