function genericCompositeName(Assert $assert) { $this->test->suite('foo', function (GenericTestSuite $suite) { $suite->test('bar'); $suite->test('baz'); }); $this->executeCommand($assert, ['Foo::foo::baz']); $assert($this->listener->started[0]->toString(), 'Foo::foo::baz'); }
function composedSuites() { $this->suite->suite("Bar", function (GenericTestSuite $suite) { $suite->test("baz", function () { }); }); $this->suite->run($this->listener); $this->assert->size($this->listener->results, 1); $this->assert->size($this->listener->started, 3); $this->assert($this->listener->started[0]->toString(), "Foo"); $this->assert($this->listener->started[1]->toString(), "Foo::Bar"); $this->assert($this->listener->started[2]->toString(), "Foo::Bar::baz"); }
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'); }
private function runGenericTestCase($callback) { $this->suite->add(new GenericTestCase('bar', $callback)); $this->suite->run($this->listener); }
protected function runTestSuite() { $this->suite->run($this->listener); $this->outputLines = explode(PHP_EOL, trim($this->output)); }