【发布时间】:2015-02-13 12:23:08
【问题描述】:
我正在尝试编写一个测试来检查仅注册用户完成的一些活动。所以我需要通过 laravel 5 认证过程(带_token)
这是我的测试课
class ImportTest extends TestCase {
private $files = array();
/**
* Creates the application.
*
* @return \Illuminate\Foundation\Application
*/
public function createApplication()
{
$app = require __DIR__.'/../bootstrap/app.php';
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
return $app;
}
private function beTheUser(){
$this->be(User::all()->first());
}
public function testAccessImportPageAjaxLoggedIn(){
$this->beTheUser();
$import = Import::all()->first();
if($import!=null){
$this->call('POST','ImportDocumentsController@status',array(
'import_id' => $import->id,
'_token' => Session::token()
));
$this->assertResponseStatus('404');
}
$this->assertTrue(TRUE);
}
}
当我尝试使用 phpunit test 测试函数时,我得到了 testing.ERROR:exception Illuminate\Session\TokenMismatchException
有人知道解决方法吗?
【问题讨论】:
-
尝试在
setUp()方法中添加Session::start()。
标签: php unit-testing laravel laravel-5