artisan('migrate', ['--database' => 'testbench']); $this->beforeApplicationDestroyed(function () { $this->artisan('migrate:rollback'); }); } /** * @inheritDoc */ protected function getEnvironmentSetUp($app) { // set up database configuration $app['config']->set('database.default', 'testbench'); $app['config']->set('database.connections.testbench', [ 'driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '', ]); } /** * @inheritDoc */ protected function getPackageProviders($app) { return [ ServiceProvider::class, TestServiceProvider::class ]; } /** * Mock the event dispatcher so all events are silenced and collected. * * @return $this */ protected function withoutEvents(): self { $mock = Mockery::mock(Dispatcher::class); $mock->shouldReceive('fire', 'until'); $this->app->instance('events', $mock); return $this; } }