createMock(LockFactory::class); $lock = $this->createMock(LockInterface::class); $lock->method('acquire')->withAnyParameters()->willReturn(true); $locker->method('createLock')->withAnyParameters()->willReturn($lock); $phpExecutableFinder = $this->createMock(PhpExecutableFinder::class); $phpExecutableFinder->method('find')->with($this->isFalse())->willReturn('/usr/local/bin/php'); $this->processHelper = $this->createMock(ProcessRunnerInterface::class); $command = new MigrateDatabaseCommand($locker, $this->processHelper, $phpExecutableFinder); $this->commandTester = $this->testerForCommand($command); } /** @test */ public function migrationsCommandIsRunWithProperVerbosity(): void { $this->processHelper->expects($this->once())->method('run')->with( $this->isInstanceOf(OutputInterface::class), $this->equalTo([ '/usr/local/bin/php', MigrateDatabaseCommand::DOCTRINE_MIGRATIONS_SCRIPT, MigrateDatabaseCommand::DOCTRINE_MIGRATE_COMMAND, '--no-interaction', ]), ); $this->commandTester->execute([]); $output = $this->commandTester->getDisplay(); self::assertStringContainsString('Migrating database...', $output); self::assertStringContainsString('Database properly migrated!', $output); } }