这篇文章主要给大家介绍了关于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中文网其他相关文章!