betapeak / laravel-testing-helper-traits
添加类似于 DatabaseMigtaions 特性的 trait,但增加了播种功能。
1.0.1
2017-10-31 16:56 UTC
Requires
- php: >=7.0
- laravel/framework: 5.5.*
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 的主页 上找到