laravel单元测试之phpUnit中old()函数报错解决

(编辑:jimmy 日期: 2024/10/3 浏览:2)

前言

最近在做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自己配置环境的,很是纠结,于是查看源代码

laravel单元测试之phpUnit中old()函数报错解决

解决过程

开启session(app/Http/kerner)

很明显我已经开启了session,但是我又找到了我单元测试的代码发现我开启了这段代码

laravel单元测试之phpUnit中old()函数报错解决

忽略中间件的限制

因为这段代码导致我session无法开启,聪明反被聪明误,本来想用这个方法不想写中间件的东西然后却被自己给套进去了,然后去了这段代码,重写了逻辑,运行正常了.

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。