public function setUp() { parent::setUp(); $this->app->bind('Franzose\\ClosureTable\\Contracts\\EntityInterface', 'Franzose\\ClosureTable\\Models\\Entity'); $this->app->bind('Franzose\\ClosureTable\\Contracts\\ClosureTableInterface', 'Franzose\\ClosureTable\\Models\\ClosureTable'); if (!static::$sqlite_in_memory) { DB::statement('DROP TABLE IF EXISTS entities_closure'); DB::statement('DROP TABLE IF EXISTS entities;'); DB::statement('DROP TABLE IF EXISTS migrations'); } $artisan = $this->app->make('Illuminate\\Contracts\\Console\\Kernel'); $artisan->call('migrate', ['--database' => 'closuretable', '--path' => '../tests/migrations']); $artisan->call('db:seed', ['--class' => 'Franzose\\ClosureTable\\Tests\\Seeds\\EntitiesSeeder']); if (static::$debug) { Entity::$debug = true; Event::listen('illuminate.query', function ($sql, $bindings, $time) { $sql = str_replace(array('%', '?'), array('%%', '%s'), $sql); $full_sql = vsprintf($sql, $bindings); echo PHP_EOL . '- BEGIN QUERY -' . PHP_EOL . $full_sql . PHP_EOL . '- END QUERY -' . PHP_EOL; }); } }