如何对返回视图的控制器函数进行单元测试。下面是我的控制器函数
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()
有什么想法吗,如何为我的索引控制器函数编写测试用例?
发布于 2019-05-22 06:17:18
您在第一个断言中重新分配了$response。不需要这么做
我不知道assertContains从我的脑海中返回了什么,但我打赌它不是$this。
老实说,除了来自$response查询的响应之外,我不知道为什么示例一开始就让您将任何内容赋值给HTTP。
public function testIndex()
{
$this->withoutMiddleware();
$response = $this->get('/user');
$this->assertContains('data', $response->content());
$response->assertSuccessful();
}
发布于 2020-04-20 23:33:31
发布于 2020-04-21 04:39:13
您可以使用以下代码
$this->get('/user')->assertViewHas('data');
https://stackoverflow.com/questions/55509287
复制相似问题