前言
最近在做laravel單元測(cè)試.遇到了一個(gè)問(wèn)題:
當(dāng)添加的view里面使用old()
函數(shù)時(shí)就會(huì)報(bào)錯(cuò),正常url訪問(wèn)沒(méi)問(wèn)題,但是在phpUnit中就報(bào)錯(cuò)
錯(cuò)誤原因: exception 'RuntimeException' with message 'Session store not set on request.' in /Users/lei/Sites/goodstyle/vendor/laravel/framework/src/Illuminate/Http/Request.php:870
很明顯這是一個(gè)跑出session沒(méi)有開(kāi)啟的原因,但是phpUnit是laravel自己配置環(huán)境的,很是糾結(jié),于是查看源代碼
解決過(guò)程
開(kāi)啟session(app/Http/kerner)
很明顯我已經(jīng)開(kāi)啟了session,但是我又找到了我單元測(cè)試的代碼發(fā)現(xiàn)我開(kāi)啟了這段代碼
忽略中間件的限制
因?yàn)檫@段代碼導(dǎo)致我session無(wú)法開(kāi)啟,聰明反被聰明誤,本來(lái)想用這個(gè)方法不想寫(xiě)中間件的東西然后卻被自己給套進(jìn)去了,然后去了這段代碼,重寫(xiě)了邏輯,運(yùn)行正常了.
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)的支持。