taskSymfonyCommand(new \Codeception\Command\Run('run')) * ->arg('suite','acceptance') * ->opt('debug') * ->run(); * * // Artisan Command * $this->taskSymfonyCommand(new ModelGeneratorCommand()) * ->arg('name', 'User') * ->run(); * ?> * ``` */ class SymfonyCommand extends BaseTask { /** * @var \Symfony\Component\Console\Command\Command */ protected $command; /** * @var string[] */ protected $input; public function __construct(Command $command) { $this->command = $command; $this->input = []; } /** * @param string $arg * @param string $value * * @return $this */ public function arg($arg, $value) { $this->input[$arg] = $value; return $this; } public function opt($option, $value = null) { $this->input["--$option"] = $value; return $this; } /** * {@inheritdoc} */ public function run() { $this->printTaskInfo('Running command {command}', ['command' => $this->command->getName()]); return new Result( $this, $this->command->run(new ArrayInput($this->input), Robo::output()) ); } }