betapeak/laravel-testing-helper-traits

添加类似于 DatabaseMigtaions 特性的 trait,但增加了播种功能。

1.0.1 2017-10-31 16:56 UTC

This package is not auto-updated.

Last update: 2024-09-15 02:52:22 UTC


README

该特性在 Laravel 当前提供的 DatabaseMigrations 特性基础上增加了额外功能

  • 使用 'migrate:refresh' 代替硬编码的 'migrate:fresh',通过在测试类中包含一个属性实现
protected $useRefreshMigrations = true;
  • 使用自定义播种器,可以为每个测试单独定义
protected $seederClass = 'AnotherDatabaseSeeder';

安装

此包需要您使用 laravel/framework: 5.5.*。只要满足这一条件,就可以像这样安装辅助 traits

composer require betapeak/laravel-testing-helper-traits

使用方法

您可以使用包含的 DatabaseMigrationsWithSeeding trait 来代替 Laravel 中现有的 DatabaseMigrations trait。像默认特性一样,它将执行 migrate:fresh 数据库操作,但也会使用默认的 DatabaseSeeder 类进行播种。

namespace Tests;
use BetaPeak\Testing\Traits\DatabaseMigrationsWithSeeding;

class SomeUnitTest extends TestCase
{
    use DatabaseMigrationsWithSeeding;
    

    /** @test */
    public function it_tests_something()
    {
        //Test something
    }
    
}

您可以指定不同的播种器类,如下所示

namespace Tests;
use BetaPeak\Testing\Traits\DatabaseMigrationsWithSeeding;

class SomeUnitTest extends TestCase
{
    use DatabaseMigrationsWithSeeding;
    
    protected $seederClass = 'AnotherSeederClass';

    ...
    
}

最后,如果您不想使用 migrate:fresh,可以强制 trait 使用 migrate:refresh,如下所示

namespace Tests;
use BetaPeak\Testing\Traits\DatabaseMigrationsWithSeeding;

class SomeUnitTest extends TestCase
{
    use DatabaseMigrationsWithSeeding;
    
    protected $useRefreshMigrations = true;

    ...
    
}

有关在测试中使用数据库迁移的更多信息,可以在 Laravel 的主页 上找到