laravel单元测试之phpUnit中old()函数报错怎么办

laravel单元测试之phpUnit中old()函数报错怎么办

这篇文章将为大家详细讲解有关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自己配置环境的,很是纠结,于是查看源代码

laravel单元测试之phpUnit中old()函数报错怎么办

解决过程

开启session(app/Http/kerner)

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

laravel单元测试之phpUnit中old()函数报错怎么办

忽略中间件的限制

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

关于“laravel单元测试之phpUnit中old()函数报错怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。