Php 在laravel中对视图进行单元测试?
如何对返回视图的控制器函数进行单元测试。这里是我的控制器功能Php 在laravel中对视图进行单元测试?,php,laravel,phpunit,Php,Laravel,Phpunit,如何对返回视图的控制器函数进行单元测试。这里是我的控制器功能 public function index(Request $request) { $data = Data::all(); return view('index',[ 'data' => $data ]); } 下面是测试代码 public function testIndex() { $response = $this->withoutMiddleware(); $res
public function index(Request $request)
{
$data = Data::all();
return view('index',[
'data' => $data
]);
}
下面是测试代码
public function testIndex()
{
$response = $this->withoutMiddleware();
$response = $this->get('/user');
$response->assertSuccessful();
}
我试过这个
public function testIndex()
{
$response = $this->withoutMiddleware();
$response = $this->get('/user');
$response = $this->assertContains('data', $response->content());
$response->assertSuccessful();
}
这显示了错误的
错误:在null上调用成员函数assertSuccessful()
您知道如何为我的索引控制器函数编写测试用例吗?您在第一次断言中重新分配了$response。没必要这么做 我不知道我脑子里想的是什么assertContains,但我打赌不是这个 老实说,我不知道为什么这个示例让您首先为$response分配任何东西,除了来自HTTP查询的响应
public function testIndex()
{
$this->withoutMiddleware();
$response = $this->get('/user');
$this->assertContains('data', $response->content());
$response->assertSuccessful();
}
你也可以用
$response->assertSeeText('data');
您可以使用此代码
$this->get('/user')->assertViewHas('data');
$response为空。OP如何调用空对象上的assertSeeText?请从前一行中删除assigment。