如何解决Laravel-测试如何修复错误Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
我无法运行此测试方法,我想做的是只有管理员用户才能进入面板,如果该用户只是一个用户,则它必须收到状态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
解决方法
您在路由组定义中有两个middleware
键。您需要将它们组合在一起,否则最后一个将覆盖所有先前设置的参数:
Route::group(['middleware' => ['role:usuario','role:administrador']],function() {
Route::get('/panel','PanelController@index')->name('panel.index');
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。