ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
ilBuddySystemTestSuite.php
Go to the documentation of this file.
1<?php declare(strict_types=1);
2
3/* Copyright (c) 1998-2015 ILIAS open source, Extended GPL, see docs/LICENSE */
4
6use PHPUnit\Framework\TestCase;
7
8require_once __DIR__ . '/bootstrap.php';
9
14class ilBuddySystemTestSuite extends TestSuite
15{
19 public static function suite() : self
20 {
21 if (!defined("ANONYMOUS_USER_ID")) {
22 define("ANONYMOUS_USER_ID", 13);
23 }
24
25 require_once __DIR__ . '/ilBuddySystemBaseTest.php';
26
27 $suite = new self();
28
29 foreach (new RegExIterator(
30 new RecursiveIteratorIterator(
31 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
32 RecursiveIteratorIterator::LEAVES_ONLY
33 ),
34 '/BaseTest\.php$/'
35 ) as $file
36 ) {
38 require_once $file->getPathname();
39 }
40
41 foreach (new RegExIterator(
42 new RecursiveIteratorIterator(
43 new RecursiveDirectoryIterator(__DIR__, FilesystemIterator::SKIP_DOTS),
44 RecursiveIteratorIterator::LEAVES_ONLY
45 ),
46 '/(?<!Base)Test\.php$/'
47 ) as $file
48 ) {
50 require_once $file->getPathname();
51
52 $className = preg_replace('/(.*?)(\.php)/', '$1', $file->getBasename());
53 if (class_exists($className)) {
54 $reflection = new ReflectionClass($className);
55 if (
56 !$reflection->isAbstract() &&
57 !$reflection->isInterface() &&
58 $reflection->isSubclassOf(TestCase::class)
59 ) {
60 $suite->addTestSuite($className);
61 }
62 }
63 }
64
65 return $suite;
66 }
67}
$suite
An exception for terminatinating execution or to throw for unit testing.