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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel PHPUnit测试运行产生异常创建调度程序后无法设置默认工厂相关的知识,希望对你有一定的参考价值。

当我使用filter选项单独运行laravel测试时,测试会通过,但是当你运行所有没有filter选项的测试时,它会返回一个异常

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

我必须通过在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) 的自定义异常

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

如何从 PHPUnit 测试设置运行 Laravel 数据库播种机?

Phpunit:在 laravel 中处理验证异常

Laravel phpunit 跳过自定义测试文件

laravel phpunit 如何确定运行哪个方法