Exemple #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;
 }
Exemple #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);
 }