markTestSkipped('Please set the MYSQL_* environment variables to your test database credentials.'); } $this->setUpVfsDir(); // fake console.php for setting an executable vfsStream::newFile('console.php') ->at($this->root->getChild('bin')) ->setContent('app = new App($this->root->url()); BaseObject::setApp($this->app); $this->console = new MultiUseConsole(); } public function execute($args) { $this->app->reload(); array_unshift($args, $this->getExecutablePath()); Intercept::reset(); $this->console->reset(); $this->console->parseTestArgv($args); $this->console->execute(); $returnStr = Intercept::$cache; Intercept::reset(); return $returnStr; } /** * @return string returns the path to the console executable during tests */ protected function getExecutablePath() { return $this->root->getChild('bin' . DIRECTORY_SEPARATOR . 'console.php')->url(); } }