Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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);
 }
Exemplo n.º 3
0
 /**
  * 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);
 }
Exemplo n.º 6
0
 /**
  * @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;
 }