如何从 PHPUnit 测试设置运行 Laravel Database Seeder?

问题描述 投票:0回答:0

我试图在一些 PHPUnit 测试用例中的每次测试之前重新创建数据库。我正在使用 Laravel 5.3。这是测试用例:

class CourseTypesTest extends TestCase
{
    public function setUp()
    {
        parent::setUp();
        Artisan::call('migrate');
        Artisan::call('db:seed', ['--class' => 'TestDatabaseSeeder ', '--database' => 'testing']);
    }

    /**
     * A basic functional test example.
     *
     * @return void
     */
    public function test_list_course_types()
    {
        $httpRequest = $this->json('GET', '/api/course-types');
        $httpRequest->assertResponseOk();
        $httpRequest->seeJson();

    }

    public function tearDown()
    {
        Artisan::call('migrate:reset');
        parent::tearDown();
    }
}

运行

phpunit
失败并出现错误:

$ phpunit PHPUnit 5.7.5 由 Sebastian Bergmann 和贡献者提供。

E 1 / 1 (100%)

时间:2.19秒,内存:12.00MB

有 1 个错误:

1) CourseTypesTest::test_list_course_types ReflectionException:类 TestDatabaseSeeder 不存在

D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Container\Container.php:749 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Container\Container.php:644 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Foundation\Application.php:709 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Database\Console\Seeds\SeedCommand.php:74 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Database\Console\Seeds\SeedCommand.php:63 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Database\Eloquent\Model.php:2292 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Database\Console\Seeds\SeedCommand.php:64 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Container\Container.php:508 D:\www\learn-laravel\my-folder-api endor\laravel ramework\src\Illuminate\Console\Command.php:169 D:\www\learn-laravel\my-folder-api endor\symfon

laravel laravel-5 phpunit laravel-seeding
© www.soinside.com 2019 - 2024. All rights reserved.