18use PHPUnit\Framework\TestSuite;
19use PHPUnit\Framework\TestCase;
23 public static function suite():
self
27 foreach (
new RegExIterator(
28 new RecursiveIteratorIterator(
29 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
30 RecursiveIteratorIterator::LEAVES_ONLY
35 require_once $file->getPathname();
38 foreach (
new RegExIterator(
39 new RecursiveIteratorIterator(
40 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
41 RecursiveIteratorIterator::LEAVES_ONLY
43 '/(?<!Base)Test\.php$/'
46 require_once $file->getPathname();
48 $className = preg_replace(
'/(.*?)(\.php)/',
'$1', $file->getBasename());
49 if (class_exists($className)) {
50 $reflection =
new ReflectionClass($className);
52 !$reflection->isAbstract() &&
53 !$reflection->isInterface() &&
54 $reflection->isSubclassOf(TestCase::class)) {
55 $suite->addTestSuite($className);