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

Laravel Backpack中$this->actingAs在PHPUnit测试中失效问题

解决Backpack for Laravel中actingAs与admin中间件的测试兼容问题

你的测试返回302重定向,核心原因是创建的用户没有关联admin角色,Backpack的admin中间件检测到用户无权限,因此触发重定向。

你的代码里只创建了User和Role,但缺少用户与角色的关联步骤。修正后的测试代码如下:

$user = User::factory()->create();
$role = Role::factory()->create([
    'name' => User::ROLE_ADMIN
]);
// 关联用户与admin角色
$user->roles()->attach($role);

$response = $this->actingAs($user)->get(route('admin.homework.detail'));

$response->assertStatus(200);

额外检查点:

  • 确保你的User模型引入了Backpack的HasRoles Trait(通常是use Backpack\PermissionManager\Traits\HasRoles;)
  • 确认admin中间件的逻辑是正确校验用户角色(比如检查用户是否拥有admin角色)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 18:22:02