Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel中对视图进行单元测试?_Php_Laravel_Phpunit - Fatal编程技术网

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。