Laravel Dusk,DatabaseTransactions没有做RollBack

时间:2018-03-28 19:42:45

标签: rollback laravel-dusk

我正在使用Laravel Dusk,以下Register测试工作正常,但它没有rollBack事务(即'Register'上创建的用户记录始终保留在DB中)。 我的桌子都设置为使用InnoDB引擎。

关于发生了什么的任何想法?我把Logs放在很多地方,没什么特别错的。我在laravel.log文件中也没有任何错误。

take(1)

这是我在config / database.php

中的连接
use DatabaseTransactions;

protected $connectionsToTransact = [ 'mysql' ];

/**
 * A basic browser test example.
 *
 * @return void
 */
public function testBasicExample()
{
    $this->browse(function (Browser $browser) {
        $browser->visit('/')
                ->type('name', 'Automated User')
                ->type('email', 'autoemail@hotmail.com')
                ->type('password', 'aaaaaa')
                ->type('password_confirmation', 'aaaaaa')
                ->press('Register')
                ->assertPathIs('/login');
    });

}

更新

我试图在断言后更新模型,但它也不起作用。似乎所有数据库事务通常都没有被执行。

1 个答案:

答案 0 :(得分:2)

您无法在黄昏测试中使用DatabaseTransactions。由于真正的浏览器正在打开您的网站,因此您的测试将在不同的过程中运行。

您必须自行撤消更改,例如删除注册用户。