public function _initialize() { if (!file_exists($this->config['appPath'])) { throw new ModuleConfigException(__CLASS__, "Couldn't load application config file {$this->config['appPath']}\n" . "Please provide application bootstrap file configured for testing"); } $this->appSettings = (include $this->config['appPath']); //get application settings in the entry script // get configuration from array or file if (is_array($this->appSettings['config'])) { $this->_appConfig = $this->appSettings['config']; } else { if (!file_exists($this->appSettings['config'])) { throw new ModuleConfigException(__CLASS__, "Couldn't load configuration file from Yii app file: {$this->appSettings['config']}\n" . "Please provide valid 'config' parameter"); } $this->_appConfig = (include $this->appSettings['config']); } if (!defined('YII_ENABLE_EXCEPTION_HANDLER')) { define('YII_ENABLE_EXCEPTION_HANDLER', false); } if (!defined('YII_ENABLE_ERROR_HANDLER')) { define('YII_ENABLE_ERROR_HANDLER', false); } $_SERVER['SCRIPT_NAME'] = parse_url($this->config['url'], PHP_URL_PATH); $_SERVER['SCRIPT_FILENAME'] = $this->config['appPath']; if (!function_exists('launch_codeception_yii_bridge')) { throw new ModuleConfigException(__CLASS__, "Codeception-Yii Bridge is not launched. In order to run tests you need to install " . "https://github.com/Codeception/YiiBridge Implement function 'launch_codeception_yii_bridge' to " . "load all Codeception overrides"); } launch_codeception_yii_bridge(); Yii::$enableIncludePath = false; Yii::setApplication(null); Yii::createApplication($this->appSettings['class'], $this->_appConfig); }
<?php use Codeception\Util\Autoload; // no utf without this setlocale(LC_ALL, 'en_US.UTF8'); // This is global bootstrap for autoloading $ds = DIRECTORY_SEPARATOR; Autoload::registerSuffix('Page', implode($ds, array(__DIR__, '_pages'))); Autoload::registerSuffix('Helper', implode($ds, array(__DIR__, '_support', 'helpers'))); // this shit sucks // Yii isn't found by standard composer autoload require_once dirname(__DIR__) . '/boot/testing-console.php'; require_once __DIR__ . '/_data/YiiBridge/yiit.php'; launch_codeception_yii_bridge(); #require_once dirname(__DIR__).'/vendor/codeception/codeception/Platform/RunFailed.php'; $helper = new \Codeception\Module\BootstrapHelper(); $helper->bootstrap();