Laravel - 测试。如何修复错误 Symfony\Component\HttpKernel\Exception\NotFoundHttpException
Posted
技术标签:
【中文标题】Laravel - 测试。如何修复错误 Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException【英文标题】:Laravel - test. How to fix the Error Symfony\Component\HttpKernel\Exception\NotFoundHttpExceptionLaravel - 测试。如何修复错误 Symfony\Component\HttpKernel\Exception\NotFoundHttpException 【发布时间】:2020-12-26 08:57:03 【问题描述】:我不能运行这个测试方法,我要做的是只有管理员用户才能进入面板,如果用户只是一个用户,它必须收到状态302但收到404,
如果我运行 php artisan route: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');
);
这是错误:
Image of error when running php artisan test
【问题讨论】:
【参考方案1】:您的路由组定义中有两个 middleware
键。您需要将它们组合起来,否则最后一个将覆盖任何先前设置的:
Route::group(['middleware' => ['role:usuario', 'role:administrador']], function()
Route::get('/panel', 'PanelController@index')->name('panel.index');
);
【讨论】:
以上是关于Laravel - 测试。如何修复错误 Symfony\Component\HttpKernel\Exception\NotFoundHttpException的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 laravel 中的 gettallheaders.php 错误?
如何修复错误:无法打开 laravel.log 权限被拒绝?