Ejemplo n.º 1
0
 private function buildTestSuite($suiteConfig, TestName $parent = null)
 {
     if (is_string($suiteConfig)) {
         return $this->linkConfiguration($suiteConfig, $parent);
     }
     $suiteGenerators = ['file' => function ($file) use($parent) {
         return new FileTestSuite($this->getTestSuiteFactory(), $this->getFilter(), $this->fullPath(), $file, $parent);
     }, 'class' => function ($class) use($parent) {
         return $this->getTestSuiteFactory()->getTestSuite($class, $this->getFilter(), $parent);
     }, 'name' => function ($name) use($parent, $suiteConfig) {
         $suite = new GenericTestSuite($name, $parent);
         foreach ($this->getIn($suiteConfig, 'suites', []) as $child) {
             $suite->add($this->buildTestSuite($child, $suite->getName()));
         }
         return $suite;
     }];
     foreach ($suiteGenerators as $key => $generate) {
         if (array_key_exists($key, $suiteConfig)) {
             return $generate($suiteConfig[$key]);
         }
     }
     throw new \Exception('Invalid suite configuration');
 }
Ejemplo n.º 2
0
 private function runGenericTestCase($callback)
 {
     $this->suite->add(new GenericTestCase('bar', $callback));
     $this->suite->run($this->listener);
 }