public function doEnhancedRun(\PHPUnit_Framework_Test $suite, \PHPUnit_Framework_TestResult $result, array $arguments = []) { unset($GLOBALS['app']); // hook for not to serialize globals $this->handleConfiguration($arguments); $result->convertErrorsToExceptions(false); if (empty(self::$persistentListeners)) { $this->applyReporters($result, $arguments); } $arguments['listeners'][] = $this->printer; // clean up listeners between suites foreach ($arguments['listeners'] as $listener) { $result->addListener($listener); } $filterFactory = new \PHPUnit_Runner_Filter_Factory(); if ($arguments['groups']) { $filterFactory->addFilter(new \ReflectionClass('PHPUnit_Runner_Filter_Group_Include'), $arguments['groups']); } if ($arguments['excludeGroups']) { $filterFactory->addFilter(new \ReflectionClass('PHPUnit_Runner_Filter_Group_Exclude'), $arguments['excludeGroups']); } if ($arguments['filter']) { $filterFactory->addFilter(new \ReflectionClass('PHPUnit_Runner_Filter_Test'), $arguments['filter']); } $suite->injectFilter($filterFactory); $suite->run($result); unset($suite); foreach ($arguments['listeners'] as $listener) { $result->removeListener($listener); } return $result; }
public function prepareSuite(\PHPUnit_Framework_Test $suite, array &$arguments) { $this->handleConfiguration($arguments); $filterFactory = new \PHPUnit_Runner_Filter_Factory(); if ($arguments['groups']) { $filterFactory->addFilter(new \ReflectionClass('PHPUnit_Runner_Filter_Group_Include'), $arguments['groups']); } if ($arguments['excludeGroups']) { $filterFactory->addFilter(new \ReflectionClass('PHPUnit_Runner_Filter_Group_Exclude'), $arguments['excludeGroups']); } if ($arguments['filter']) { $filterFactory->addFilter(new \ReflectionClass('Codeception\\PHPUnit\\FilterTest'), $arguments['filter']); } $suite->injectFilter($filterFactory); }