[英]Unit testing the views in laravel?
如何對返回視圖的控制器函數進行單元測試。 這是我的控制器功能
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 會從我的腦海中返回什么,但我敢打賭它不是 $this。
老實說,我不知道為什么該示例讓您首先將任何內容分配給 $response,除了來自 HTTP 查詢的響應。
public function testIndex()
{
$this->withoutMiddleware();
$response = $this->get('/user');
$this->assertContains('data', $response->content());
$response->assertSuccessful();
}
您可以使用此代碼
$this->get('/user')->assertViewHas('data');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.