/**
  * 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);
     }
 }
Пример #2
0
 /**
  * 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;
 }