application = new Application($kernel); $this->application->add(new VersionCommand()); } /** * @dataProvider getTestData */ public function testVersion(array $options, $result) { $commandTester = $this->getCommandTester($options); $output = $commandTester->getDisplay(); $this->assertEquals($result . PHP_EOL, $output); } public function getTestData() { return [ [[], 'Kimai - ' . Constants::VERSION . ' ' . Constants::STATUS . ' (' . Constants::NAME . ') by Kevin Papst and contributors.'], [['--name' => true], Constants::NAME], [['--candidate' => true], Constants::STATUS], [['--short' => true], Constants::VERSION], [['--semver' => true], Constants::VERSION . '-' . Constants::STATUS], ]; } protected function getCommandTester(array $options = []) { $command = $this->application->find('kimai:version'); $commandTester = new CommandTester($command); $inputs = array_merge(['command' => $command->getName()], $options); $commandTester->execute($inputs); return $commandTester; } }