Laravel PHPUnit 测试运行产生异常 调度器创建后无法设置默认工厂

Posted

技术标签:

【中文标题】Laravel PHPUnit 测试运行产生异常 调度器创建后无法设置默认工厂【英文标题】:Laravel PHPUnit Test Run Produces Exception The default factory can not be set after the scheduler has been created 【发布时间】:2018-12-23 23:09:03 【问题描述】:

当我使用过滤器选项单独运行我的 laravel 测试时,测试通过了,但是当你在没有过滤器选项的情况下运行所有​​测试时,它会返回一个异常

Exception: The default factory can not be set after the scheduler has been created

【问题讨论】:

【参考方案1】:

我必须通过在 TestCase 类中向我的 setup 方法添加一个工匠调用来确保我的测试数据库正在迁移并且种子正常工作。

public function setUp()

    parent::setUp();
    Artisan::call("migrate", ['--env' => "testing"]);
    Artisan::call('db:seed', ['--class' => SomeTableSeeder::class]);

【讨论】:

以上是关于Laravel PHPUnit 测试运行产生异常 调度器创建后无法设置默认工厂的主要内容,如果未能解决你的问题,请参考以下文章

处理来自 PHPUnit (Laravel 5.2) 的自定义异常

Phpunit:在 laravel 中处理验证异常

Laravel 项目运行 phpunit 测试结果只显示点号

使用 Laravel 5.2 的 PHPUnit 未找到自定义异常

Laravel / PHPUnit:运行测试时没有模拟类

在 Laravel 8 中运行多个 PHPUnit 测试时出错