2 回答

TA貢獻1883條經驗 獲得超3個贊
出現此錯誤的原因是因為不知何故posts急切地從視圖/控制器加載,而不是從測試加載。
我猜return self::has('posts')->with('posts')->paginate(1);可以修復它。
或者,您可以測試頁面底部是否有分頁。因為{{ $categories->links() }}會添加類似的東西Previous,Next你仍然可以尋找它。
$response = $this->get(route('categories.index'));
$response->assertSee('Next');
此外,您可以確保對類別進行分頁,但不能確保您已在頁面底部添加鏈接。
use Illuminate\Contracts\Pagination\Paginator;
...
$response = $this->get(route('categories.index'));
$this->assertInstanceOf(Paginator::class, $response->viewData('categories'));

TA貢獻1864條經驗 獲得超6個贊
setUp
您是否在測試方法中運行任何遷移/工廠?
看起來您的數據庫中可能沒有帖子記錄,因此$categories
進入視圖時為null
。
另請注意,如果您只想確保視圖具有$categories
可以使用的變量$response->assertViewHas('categories');
。如果您想確保視圖獲取實際數據,這并不理想。
- 2 回答
- 0 關注
- 159 瀏覽
添加回答
舉報