/** * Find test suits to run * * @param string $folder Where to look * @return string[] */ protected function findSuits($folder) { $suits = []; $robot = new \Nette\Loaders\RobotLoader(); $robot->setCacheStorage(new \Nette\Caching\Storages\DevNullStorage()); $robot->addDirectory($folder); $robot->acceptFiles = "*.phpt"; $robot->rebuild(); $robot->register(); $classes = $robot->getIndexedClasses(); foreach ($classes as $class => $file) { $rc = new \Nette\Reflection\ClassType($class); if (!$rc->isAbstract() and $rc->isSubclassOf(TestCase::class)) { $suits[] = [$rc->getName(), $file]; } } return $suits; }