使用Laravel黄昏只迁移一次

rap*_*2-h 6 php unit-testing laravel laravel-5.4 laravel-dusk

根据"数据库测试"文档,我可以在每次测试后重置数据库(第一个选项).第二个选项是使用Transactions运行测试.对我来说这似乎是一种更好的方法,但如果我想使用事务运行,则迁移不会运行.

有没有办法在所有测试过程中运行一次迁移

换句话说,我想运行迁移,使用事务运行每个测试,然后回滚.我尝试了文档说的内容,但我认为缺少了一些东西.

sim*_*nom 2

今天为此争论了一段时间,结合迁移运行迁移似乎可以解决问题。我的测试快照如下:

<?php

namespace Tests\Browser;

use App\User;
use Tests\DuskTestCase;

use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class DefaultTest extends DuskTestCase
{
    use DatabaseMigrations, DatabaseTransactions;

    /**
     * A Dusk test example.
     *
     * @return void
     */
    public function test_something()
    {
        //Add test stuff here
    }
}
Run Code Online (Sandbox Code Playgroud)

我在实际测试中有几个工厂,它们似乎按照预期运行了迁移,测试后数据被销毁。