Laravel - 测试。如何修复错误 Symfony\Component\HttpKernel\Exception\NotFoundHttpException

Laravel - test. How to fix the Error Symfony\Component\HttpKernel\Exception\NotFoundHttpException

我不能运行这个测试方法,我想做的是只有管理员用户才能进入面板,如果用户只是一个用户,它必须收到状态302但是它收到 404,

如果我运行phpartisanroute:list我可以看到路线

这是我的测试方法:

/** @test */
   public function usuario_no_administrador_no_puede_entrar_al_panel()
   {

           $role = factory(Role::class)->create(['name' => 'usuario']);
           $user = factory(User::class)->create();
           $user->roles()->sync($role);

           $this->actingAs($user);

           $this->withoutExceptionHandling();
           $this->get('/panel')->assertStatus(302);

   }

这是我的 web.php 文件:

Route::group(['middleware' => 'role:usuario', 'middleware' => 'role:administrador'], function() {
  Route::get('/panel', 'PanelController@index')->name('panel.index');
});

这里是错误:

运行ning php artisan 测试时的错误图片

您的路由组定义中有两个 middleware 键。您需要将它们组合起来,否则最后一个将覆盖任何 previously-set 个:

Route::group(['middleware' => ['role:usuario', 'role:administrador']], function() {
    Route::get('/panel', 'PanelController@index')->name('panel.index');
});