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); }
/** * Returns an iterator for this test suite. * * @return RecursiveIteratorIterator * * @since Method available since Release 3.1.0 */ public function getIterator() { $iterator = new PHPUnit_Util_TestSuiteIterator($this); if ($this->iteratorFilter !== null) { $iterator = $this->iteratorFilter->factory($iterator, $this); } return $iterator; }
private function processSuiteFilters(PHPUnit_Framework_TestSuite $suite, array $arguments) { if (!$arguments['filter'] && empty($arguments['groups']) && empty($arguments['excludeGroups'])) { return; } $filterFactory = new PHPUnit_Runner_Filter_Factory(); if (!empty($arguments['excludeGroups'])) { $filterFactory->addFilter(new ReflectionClass('PHPUnit_Runner_Filter_Group_Exclude'), $arguments['excludeGroups']); } if (!empty($arguments['groups'])) { $filterFactory->addFilter(new ReflectionClass('PHPUnit_Runner_Filter_Group_Include'), $arguments['groups']); } if ($arguments['filter']) { $filterFactory->addFilter(new ReflectionClass('PHPUnit_Runner_Filter_Test'), $arguments['filter']); } $suite->injectFilter($filterFactory); }
/** * @param PHPUnit_Framework_TestSuite $suite */ private function injectFilters(PHPUnit_Framework_TestSuite $suite) { $filterFactory = new PHPUnit_Runner_Filter_Factory(); if (!empty($this->excludeGroups)) { $filterFactory->addFilter(new ReflectionClass('PHPUnit_Runner_Filter_Group_Exclude'), $this->excludeGroups); } if (!empty($this->groups)) { $filterFactory->addFilter(new ReflectionClass('PHPUnit_Runner_Filter_Group_Include'), $this->groups); } $suite->injectFilter($filterFactory); }
/** * @param FilterInterface $filter * @return \PHPUnit_Runner_Filter_Factory */ public function createFactory(FilterInterface $filter) { $filterFactory = new \PHPUnit_Runner_Filter_Factory(); $filterFactory->addFilter(new \ReflectionClass('PHPUnit_Runner_Filter_Test'), (string) $filter); return $filterFactory; }