【发布时间】:2018-03-28 19:42:45
【问题描述】:
我正在使用 Laravel Dusk,以下注册测试工作正常,除了它不会回滚事务(即在“注册”上创建的用户记录始终保留在数据库中)。 我的表都设置为使用 InnoDB 引擎。
对正在发生的事情有任何想法吗?我在很多地方都放了日志,看起来没有什么特别错误的。我在 laravel.log 文件中也没有任何错误。
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');
});
}
这是我在 config/database.php 中的连接
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => false,
'engine' => 'innoDB',
],
更新
我尝试在断言之后更新模型,但它也不起作用。似乎所有的数据库事务一般都没有被执行。
【问题讨论】:
标签: rollback laravel-dusk