getCoverageStatus()) { // blacklist selected folders from coverage report foreach(TestRunner::$coverage_filter_dirs as $dir) { PHPUnit_Util_Filter::addDirectoryToFilter(BASE_PATH . '/' . $dir); } $this->getFrameworkTestResults()->collectCodeCoverageInformation(true); } } protected function aferRunTests() { if($this->getCoverageStatus()) { require_once 'PHPUnit/Util/Log/CodeCoverage/XML/Clover.php'; $writer = new PHPUnit_Util_Log_CodeCoverage_XML_Clover('clover.xml'); $writer->process($this->getFrameworkTestResults()); if(!file_exists(ASSETS_PATH . '/coverage-report')) { mkdir(ASSETS_PATH . '/coverage-report'); } PHPUnit_Util_Report::render($this->getFrameworkTestResults(), ASSETS_PATH . '/coverage-report/'); $coverageApp = ASSETS_PATH . '/coverage-report/' . preg_replace('/[^A-Za-z0-9]/','_',preg_replace('/(\/$)|(^\/)/','',Director::baseFolder())) . '.html'; $coverageTemplates = ASSETS_PATH . '/coverage-report/' . preg_replace('/[^A-Za-z0-9]/','_',preg_replace('/(\/$)|(^\/)/','',realpath(TEMP_FOLDER))) . '.html'; echo "
Coverage reports available here:
"; } } public function runTests() { return parent::runTests(); } }