您好我有一个测试用例,它将调用一个路由,如果会话将设置,它将返回一些数据。 这是我的测试用例
class TestControllerTest extends TestCase
{
// ...
public function testResponseOfJson()
{
$response = $this->call('GET', 'profile/test');
$this->assertEmpty( !$response );
}
// ...
}
这是我的控制器
Class TestController{
public function sendResponse(Request $request){
$this->data['user_id'] = $this->request->session()->get('userdata.userid');
if($this->data['userid']){
return data;
}
else{
return Failed;
}
}
}
我的routes.php
Route::get('profile/test',['uses'=>'TestController@sendResponse']);
如何设置会话变量userdata.userid并在进行单元测试时获取。
答案 0 :(得分:1)
请查看this页。
Laravel为您提供了使用withSession
链方法和其他功能的功能,这些功能将帮助您测试会话需要或需要以某种方式进行操作的位置。
示例:
<?php
class ExampleTest extends TestCase
{
public function testApplication()
{
$response = $this->withSession(['foo' => 'bar'])
->get('/');
}
}