You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel未认证用户接口测试assertRedirect抛出AuthenticationException问题

问题原因

你在测试代码中调用了$this->withoutExceptionHandling(),这行代码会关闭Laravel的全局异常处理机制。
正常访问受auth中间件保护的路由时,Laravel的异常处理器会捕获Illuminate\Auth\AuthenticationException异常,对web路由自动返回重定向到登录页的响应;但禁用异常处理后,异常会直接向上抛出,不会触发重定向逻辑,因此测试直接报错。

解决方法

删除测试代码中的$this->withoutExceptionHandling();这行,重新执行测试即可得到预期的重定向结果。

额外注意

你当前执行测试的命令中,过滤的方法名是test_connected_user_can_create_new_task,和你编写的未登录测试的方法名test_not_connected_user_can_not_create_new_task不一致,如果要单独执行这个测试用例,需要修正命令里的过滤参数:

vendor/bin/phpunit --filter test_not_connected_user_can_not_create_new_task

内容的提问来源于stack exchange,提问作者abdello

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:24:05