這篇文章主要為大家介紹了關於laravel單元測試之phpUnit中old()函數報錯的解決過程,文中透過範例程式碼介紹的非常詳細,對大家的學習或工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
前言
最近在做laravel單元測試.遇到了一個問題:
當新增的view裡面使用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
很明顯這是一個跑出session沒有開啟的原因,但是phpUnit是laravel自己配置環境的,很是糾結,於是查看原始碼
解決過程
開啟session(app/Http/kerner)
#很明顯我已經開啟了session,但是我又找到了我單元測試的程式碼發現我開啟了這段程式碼
忽略中間件的限制
##因為這段程式碼導致我session無法開啟,聰明反被聰明誤,本來想用這個方法不想寫中間件的東西然後卻被自己給套進去了,然後去了這段程式碼,重寫了邏輯,運行正常了.#總結#
以上是laravel之phpUnit中old()函數報錯的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!