/** * Overwrites beforeRunTests. Initiates coverage-report generation if * $coverage has been set to true (@see setCoverageStatus). */ protected function beforeRunTests() { if ($this->getCoverageStatus()) { // blacklist selected folders from coverage report $modules = $this->moduleDirectories(); foreach (TestRunner::config()->coverage_filter_dirs as $dir) { if ($dir[0] == '*') { $dir = substr($dir, 1); foreach ($modules as $module) { PHPUnit_Util_Filter::addDirectoryToFilter(BASE_PATH . '/' . $dir); } } else { PHPUnit_Util_Filter::addDirectoryToFilter(BASE_PATH . '/' . $dir); } } $this->getFrameworkTestResults()->collectCodeCoverageInformation(true); } }
/** * Overwrites beforeRunTests. Initiates coverage-report generation if * $coverage has been set to true (@see setCoverageStatus). */ protected function beforeRunTests() { if ($this->getCoverageStatus()) { $this->coverage = new PHP_CodeCoverage(); $coverage = $this->coverage; $filter = $coverage->filter(); $modules = $this->moduleDirectories(); foreach (TestRunner::config()->coverage_filter_dirs as $dir) { if ($dir[0] == '*') { $dir = substr($dir, 1); foreach ($modules as $module) { $filter->addDirectoryToBlacklist(BASE_PATH . "/{$module}/{$dir}"); } } else { $filter->addDirectoryToBlacklist(BASE_PATH . '/' . $dir); } } $filter->addFileToBlacklist(__FILE__, 'PHPUNIT'); $coverage->start(self::get_test_name()); } }
protected function getCodeCoverage() { $coverage = new PHP_CodeCoverage(); $filter = $coverage->filter(); $filter->addFileToBlacklist(Director::baseFolder() . '/mysite/local.conf.php'); $filter->addDirectoryToBlacklist(Director::baseFolder() . '/mysite/scripts'); $modules = $this->moduleDirectories(); foreach (TestRunner::config()->coverage_filter_dirs as $dir) { if ($dir[0] == '*') { $dir = substr($dir, 1); foreach ($modules as $module) { $filter->addDirectoryToBlacklist(BASE_PATH . "/{$module}/{$dir}"); } } else { $filter->addDirectoryToBlacklist(BASE_PATH . '/' . $dir); } } // whitelist for specific modules foreach ($this->moduleList as $directory) { $filter->addFileToBlacklist($directory . '/_config.php'); $filter->addDirectoryToWhitelist($directory . '/code'); $filter->addDirectoryToWhitelist($directory . '/src'); } $filter->addFileToBlacklist(__FILE__, 'PHPUNIT'); return $coverage; }