application = new Application($kernel); $this->application->add(new VersionCommand()); } #[DataProvider('getTestData')] public function testVersion(array $options, $result): void { $commandTester = $this->getCommandTester($options); $output = $commandTester->getDisplay(); self::assertEquals($result . PHP_EOL, $output); } public static function getTestData(): array // @phpstan-ignore missingType.iterableValue { return [ [[], 'Kimai ' . Constants::VERSION . ' by Kevin Papst.'], [['--short' => true], Constants::VERSION], [['--number' => true], Constants::VERSION_ID], ]; } protected function getCommandTester(array $options = []): CommandTester { $command = $this->application->find('kimai:version'); $commandTester = new CommandTester($command); $inputs = array_merge(['command' => $command->getName()], $options); $commandTester->execute($inputs); return $commandTester; } }