我正在使用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');
});
}
更新
我试图在断言后更新模型,但它也不起作用。似乎所有数据库事务通常都没有被执行。
答案 0 :(得分:2)
您无法在黄昏测试中使用DatabaseTransactions
。由于真正的浏览器正在打开您的网站,因此您的测试将在不同的过程中运行。
您必须自行撤消更改,例如删除注册用户。