Я использую 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', '[email protected]')
->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',
],
ОБНОВЛЕНИЕ
Я пытался обновить модель после утверждения, но это тоже не работает. Похоже, что все транзакции БД вообще не выполняются.