【问题标题】:Laravel: Uri tests fail whenever models are being queried in controllers, but not when the response is just a viewLaravel:每当在控制器中查询模型时,Uri 测试都会失败,但当响应只是一个视图时则不会
【发布时间】:2020-05-25 20:58:32
【问题描述】:

我的测试很简单,我只想知道 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 上找不到类似的东西。

【问题讨论】:

  • 你能记录下错误吗?您是否可能导入了错误的 Category 模型类?
  • 类别模型正确。但是,您的回复触发我查看日志并告诉我“类别表不存在”(确实存在)。我应该在某处设置一些被忽视的数据库设置吗?

标签: laravel testing


【解决方案1】:

完全忽略了phpunit.xml中的设置。更改了 DB_CONNECTION 和 DB_DATABASE,现在可以正常使用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-03
    • 2022-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多