Laravel:每当在控制器中查询模型时,Uri 测试都会失败,但当响应只是一个视图时,则不会失败



我的测试非常简单,我只想知道 url 是否返回 200 ok 状态。

public function test_categories_page_is_accessible()
{
$response = $this->get(route('category.index'));
$response->assertStatus(200);
}

但由于某种原因,这失败了。但是,当我删除控制器中的模型查询并仅返回测试通过的视图时。该页面可以在浏览器中访问,没有任何问题。

// CategoryController.php
// Fails
public function index()
{
$models = Category::all();
return view('category-index', [
'categories' => $models,
]);
}

// Fails
public function index()
{
$models = Category::all();
return view('category-index', [
'categories' => [],
]);
}

// Passes
public function index()
{
// $models = Category::all();
return view('category-index', [
'categories' => [],
]);
}

我不知道为什么会这样,并且在 SO 上找不到类似的东西。

完全忽略了phpunit.xml中的设置。更改了DB_CONNECTION和DB_DATABASE,现在工作得很好。

最新更新