lavaral5单元测试,post方式提交,方式无法进入

在使用laravel5框架,写测试代码的时候,如果是POST方式提交的方法,方法不能正常调用,get方式则正常调用:
具体代码如下:
UserinfoTest:
public function testPostUserUpdate(){
    $user = new User(array('name' => 'qweqwe'));
    $this->be($user);
    $input = ['zbxname' =>'test','zbxpwd'=>'test'];
    $this->action('POST', 'UserinfoController@zbbixUserSet',$input);
    $this->action('get', 'UserinfoController@yyjrIndex');
    $this->assertResponseOk();
}

Routes:
Route::get('yyjrIndex','UserinfoController@yyjrIndex');
Route::post('zbbixUserSet','UserinfoController@zbbixUserSet');
已邀请:

dogwin

赞同来自:

在POST传值时,别忘记传token

<form>
<input type="hidden" name="_token" id="token" value="
csrf_token() 
" />
</form>

行者逐风

赞同来自:

解决方式有两种
1、在测试方法中添加_token,作为参数传入
Session::start();
$input = ['zbxname' =>'test','zbxpwd'=>'test','_token' => Session::token()];

参考网址:Laravel 5 測試起手式
2、直接修改VerifyCsrfToken类中的验证方法,
参考网址:Disabling CSRF for Specific Routes - Laravel 5

要回复问题请先登录注册