testSuite(); $suite = new TestSuite(); foreach ($suitesConfig as $suiteConfig) { $suites = self::getSuites($suiteConfig); /** @var TestSuite $testSuite */ foreach ($suites as $testSuite) { /** @var TestSuite $test */ foreach ($testSuite as $test) { $testName = $test->getName(); if ($overrideConfig->hasSkippedTest($testName) && !$test instanceof SkippableInterface) { $reflectionClass = new \ReflectionClass($testName); $resultTest = $generator->generateTestWrapper($reflectionClass); $suite->addTest(new TestSuite($resultTest, $testName)); } else { $suite->addTest($test); } } } } return $suite; } /** * Returns config file name from command line params. * * @return string */ private static function getConfigurationFile(): string { $params = getopt('c:', ['configuration:']); $longConfig = $params['configuration'] ?? ''; $shortConfig = $params['c'] ?? ''; return $shortConfig ?: $longConfig; } /** * Retrieve configuration. * * @return Configuration */ private static function getConfiguration() { return (new Loader())->load(self::getConfigurationFile()); } /** * Retrieve test suites by suite config. * * @param TestSuiteConfiguration $suiteConfig * * @return TestSuite */ private static function getSuites($suiteConfig) { return (new TestSuiteMapper())->map(TestSuiteCollection::fromArray([$suiteConfig]), ''); } }