この記事では主にlaravel単体テストにおけるphpUnitのold()関数エラーの解決プロセスをサンプルコードを通して詳しく紹介しています。以下のエディターと一緒に学びましょう。
はじめに
最近、laravelで単体テストを行っていたところ、次のような問題が発生しました:
追加されたビューでold()
関数が使用されると、通常のURLでは問題が報告されません。アクセスしても、phpUnitでエラーが報告されます
エラーの理由:
exception 'RuntimeException' with message 'Session store not set on request.' in /Users/lei/Sites/goodstyle/vendor/laravel/framework/src/Illuminate/Http/Request.php:870
明らかにこれがセッションが開かない理由ですが、phpUnitはlaravel自体で環境を設定するので、非常に混乱しているので、確認します。ソースコード
ソリューションプロセス
セッションを開く(app/Http/kerner)
明らかにセッションを開きましたが、単体テストのコードを見つけて、これを開いたことがわかりましたコード
ミドルウェアの制限を無視してください
このコードはセッションを開くのを妨げるので、私は賢明でしたが、私は間違っていました、最初はこの方法を使用したかったので、ミドルウェアを書きたくありませんでした。私自身もそれに引っかかってしまい、ロジックを書き直して、正常に実行しました。
以上がlaravelのphpUnitのold()関数によって報告されるエラーの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。