ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilTestBaseTestCase Class Reference

Class ilTestBaseClass. More...

+ Inheritance diagram for ilTestBaseTestCase:
+ Collaboration diagram for ilTestBaseTestCase:

Public Member Functions

 createInstanceOf (string $class_name, array $explicit_parameters=[])
 
 createTraitInstanceOf (string $class_name, array $explicit_parameters=[])
 

Static Public Member Functions

static callMethod ($obj, $name, array $args=[])
 
static getNonPublicPropertyValue (object $obj, string $name)
 

Data Fields

const string MOCKED_METHOD_WITHOUT_OUTPUT = 'MOCKED_METHOD_WITHOUT_OUTPUT'
 
const string DYNAMIC_CLASS = 'DynamicClass'
 

Protected Member Functions

 setUp ()
 
 tearDown ()
 

Protected Attributes

Container $dic = null
 
Container $backup_dic = null
 

Static Protected Attributes

static int $DYNAMIC_CLASS_COUNT = 0
 

Private Member Functions

 addGlobals ()
 
 prepareLocalDIC ()
 
 getOrCreateMock (string $parameter_type)
 

Detailed Description

Class ilTestBaseClass.

Author
Marvin Beym mbeym.nosp@m.@dat.nosp@m.abay..nosp@m.de

Definition at line 30 of file ilTestBaseTestCase.php.

Member Function Documentation

◆ addGlobals()

ilTestBaseTestCase::addGlobals ( )
private

Definition at line 67 of file ilTestBaseTestCase.php.

67 : void
68 {
69 $this->addGlobal_ilAccess();
70 $this->addGlobal_dataFactory();
71 $this->addGlobal_tpl();
72 $this->addGlobal_ilDB();
73 $this->addGlobal_ilUser();
74 $this->addGlobal_ilias();
75 $this->addGlobal_ilErr();
76 $this->addGlobal_tree();
77 $this->addGlobal_lng();
81 $this->addGlobal_refinery();
82 $this->addGlobal_rbacsystem();
83 $this->addGlobal_rbacreview();
84 $this->addGlobal_ilRbacAdmin();
85 $this->addGlobal_http();
89 $this->addGlobal_uiFactory();
90 $this->addGlobal_uiRenderer();
91 $this->addGlobal_uiService();
92 $this->addGlobal_static_url();
93 $this->addGlobal_upload();
94 $this->addGlobal_ilLog();
95 $this->addGlobal_ilBench();
96 $this->addGlobal_ilSetting();
97 $this->addGlobal_ilCtrl();
98 $this->addGlobal_ilCtrl();
100 $this->addGlobal_ilHelp();
101 $this->addGlobal_ilTabs();
102 $this->addGlobal_ilLocator();
103 $this->addGlobal_ilToolbar();
104 $this->addGlobal_filesystem();
111 $this->addGlobal_user();
112
113 $this->defineGlobalConstants();
114
115 $this->prepareLocalDIC();
116
117 parent::setUp();
118 }
addGlobal_static_url()
addGlobal_filesystem()
addGlobal_objDefinition()
addGlobal_ilAppEventHandler()
addGlobal_ilNavigationHistory()
addGlobal_ilRbacAdmin()
addGlobal_ilComponentFactory()
addGlobal_GlobalScreenService()
addGlobal_dataFactory()
addGlobal_objectMetadata()
addGlobal_fileDelivery()
addGlobal_ilObjDataCache()
addGlobal_resourceStorage()
addGlobal_ilComponentRepository()
defineGlobalConstants()
addGlobal_ilLoggerFactory()
addGlobal_uiRenderer()
addGlobal_rbacsystem()
addGlobal_rbacreview()
addGlobal_objectService()

References addGlobal_dataFactory(), addGlobal_fileDelivery(), addGlobal_filesystem(), addGlobal_GlobalScreenService(), addGlobal_http(), addGlobal_ilAccess(), addGlobal_ilAppEventHandler(), addGlobal_ilBench(), addGlobal_ilComponentFactory(), addGlobal_ilComponentRepository(), addGlobal_ilCtrl(), addGlobal_ilDB(), addGlobal_ilErr(), addGlobal_ilHelp(), addGlobal_ilias(), addGlobal_ilLocator(), addGlobal_ilLog(), addGlobal_ilLoggerFactory(), addGlobal_ilNavigationHistory(), addGlobal_ilObjDataCache(), addGlobal_ilRbacAdmin(), addGlobal_ilSetting(), addGlobal_ilTabs(), addGlobal_ilToolbar(), addGlobal_ilUser(), addGlobal_lng(), addGlobal_objDefinition(), addGlobal_objectMetadata(), addGlobal_objectService(), addGlobal_rbacreview(), addGlobal_rbacsystem(), addGlobal_refinery(), addGlobal_resourceStorage(), addGlobal_static_url(), addGlobal_tpl(), addGlobal_tree(), addGlobal_uiFactory(), addGlobal_uiRenderer(), addGlobal_uiService(), addGlobal_upload(), addGlobal_user(), defineGlobalConstants(), and prepareLocalDIC().

Referenced by setUp().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ callMethod()

static ilTestBaseTestCase::callMethod (   $obj,
  $name,
array  $args = [] 
)
static

Definition at line 126 of file ilTestBaseTestCase.php.

127 {
128 return (new ReflectionClass($obj))->getMethod($name)->invokeArgs($obj, $args);
129 }

Referenced by MainSettingsTest\testThrowOnDifferentTestId(), and MainSettingsTest\testThrowOnDifferentTestIdException().

+ Here is the caller graph for this function:

◆ createInstanceOf()

ilTestBaseTestCase::createInstanceOf ( string  $class_name,
array  $explicit_parameters = [] 
)

Definition at line 144 of file ilTestBaseTestCase.php.

144 : object
145 {
146 $constructor = (new ReflectionClass($class_name))->getConstructor();
147
148 if ($constructor === null) {
149 return new $class_name();
150 }
151
152 $parameters = [];
153
154 foreach ($constructor->getParameters() as $constructor_parameter) {
155 $constructor_parameter_name = $constructor_parameter->getName();
156
157 if (isset($explicit_parameters[$constructor_parameter_name])) {
158 $parameters[$constructor_parameter_name] = $explicit_parameters[$constructor_parameter_name];
159 continue;
160 }
161
162 if ($constructor_parameter->isDefaultValueAvailable()) {
163 $parameters[$constructor_parameter_name] = $constructor_parameter->getDefaultValue();
164 continue;
165 }
166
167 if (!$constructor_parameter->hasType()) {
168 throw new Exception('Constructor parameter has no type.');
169 }
170
171 $constructor_parameter_type_name = $constructor_parameter->getType()?->getName();
172 $parameters[$constructor_parameter_name] = match ($constructor_parameter_type_name) {
173 'string' => '',
174 'int' => 0,
175 'float' => 0.0,
176 'bool', 'true' => true,
177 'false' => false,
178 'array' => [],
179 'null', 'resource' => null,
180 'Closure' => (static fn() => null),
181 'object' => (object) [],
182 default => (function ($constructor_parameter_type_name) {
183 if (enum_exists($constructor_parameter_type_name)) {
184 $enum_cases = $constructor_parameter_type_name::cases();
185 return array_shift($enum_cases);
186 }
187
188 return $this->getOrCreateMock($constructor_parameter_type_name);
189 })($constructor_parameter_type_name)
190 };
191 }
192
193 return new $class_name(...$parameters);
194 }
getOrCreateMock(string $parameter_type)

References getOrCreateMock().

Referenced by createTraitInstanceOf().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createTraitInstanceOf()

ilTestBaseTestCase::createTraitInstanceOf ( string  $class_name,
array  $explicit_parameters = [] 
)

Definition at line 196 of file ilTestBaseTestCase.php.

196 : object
197 {
198 if (trait_exists($class_name)) {
199 $dynamic_class_name = self::DYNAMIC_CLASS . ++self::$DYNAMIC_CLASS_COUNT;
200 eval("class $dynamic_class_name{use $class_name;}");
201 return $this->createInstanceOf($dynamic_class_name, $explicit_parameters);
202 }
203
204 return $this->createInstanceOf($class_name, $explicit_parameters);
205 }
static int $DYNAMIC_CLASS_COUNT
createInstanceOf(string $class_name, array $explicit_parameters=[])

References $DYNAMIC_CLASS_COUNT, and createInstanceOf().

+ Here is the call graph for this function:

◆ getNonPublicPropertyValue()

static ilTestBaseTestCase::getNonPublicPropertyValue ( object  $obj,
string  $name 
)
static

Definition at line 131 of file ilTestBaseTestCase.php.

131 : mixed
132 {
133 $reflection_class = new ReflectionClass($obj);
134
135 while ($reflection_class !== false && !$reflection_class->hasProperty($name)) {
136 $reflection_class = $reflection_class->getParentClass();
137 }
138
139 return $reflection_class
140 ? $reflection_class->getProperty($name)->getValue($obj)
141 : throw new ReflectionException('Property not found.');
142 }

◆ getOrCreateMock()

ilTestBaseTestCase::getOrCreateMock ( string  $parameter_type)
private

Definition at line 207 of file ilTestBaseTestCase.php.

207 : PHPUnit\Framework\MockObject\MockObject
208 {
209 if (isset($this->services[$parameter_type])) {
210 global $DIC;
211 if (!isset($DIC[$this->services[$parameter_type]])) {
212 $DIC[$this->services[$parameter_type]] = $this->createMock($parameter_type);
213 }
214
215 return $DIC[$this->services[$parameter_type]];
216 }
217
218 return $this->createMock($parameter_type);
219 }
global $DIC
Definition: shib_login.php:26

References $DIC.

Referenced by createInstanceOf().

+ Here is the caller graph for this function:

◆ prepareLocalDIC()

ilTestBaseTestCase::prepareLocalDIC ( )
private

Definition at line 120 of file ilTestBaseTestCase.php.

120 : void
121 {
122 (new ReflectionClass(\ILIAS\Test\TestDIC::class))
123 ->getProperty('dic')->setValue(null, null);
124 }
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.

Referenced by addGlobals().

+ Here is the caller graph for this function:

◆ setUp()

ilTestBaseTestCase::setUp ( )
protected

Reimplemented in ilTestAnswerOptionalQuestionsConfirmationGUITest, ilTestPassDeletionConfirmationGUITest, ilTestSettingsChangeConfirmationGUITest, ILIAS\Test\Tests\ExportImport\ExportFactoryTest, ILIAS\Test\Tests\ExportImport\ExportFilenameTest, ILIAS\Test\Tests\ExportFixedQuestionSetTest, ILIAS\Test\Tests\ExportImport\ExportRandomQuestionSetTest, ILIAS\Test\Tests\ExportImport\ilTestExporterTest, ilTestImporterTest, ilTestRandomQuestionSetGeneralConfigFormGUITest, ilTestRandomQuestionSetPoolDefinitionFormGUITest, ilAssQuestionPageCommandForwarderTest, ilCronFinishUnfinishedTestPassesTest, ilECSTestSettingsTest, ilMyTestResultsGUITest, ilMyTestSolutionsGUITest, ilObjTestAccessTest, ilObjTestFolderAccessTest, ilObjTestFolderTest, ilObjTestGUITest, ilObjTestListGUITest, ilObjTestTest, ilObjTestVerificationAccessTest, ilObjTestVerificationGUITest, ilObjTestVerificationListGUITest, ilObjTestVerificationTest, ilObjTestXMLParserTest, ilRandomTestROInputGUITest, ilTestAccessTest, ilTestArchiveServiceTest, ilTestEvalObjectiveOrientedGUITest, ilTestEvaluationDataTest, ilTestEvaluationGUITest, ilTestEvaluationPassDataTest, ilTestEvaluationUserDataTest, ilTestFixedQuestionSetConfigGUITest, ilTestFixedQuestionSetConfigTest, ilTestGradingMessageBuilderTest, ilTestHTMLGeneratorTest, ilTestLearningObjectivesStatusGUITest, ilTestObjectiveOrientedContainerTest, ilTestParticipantAccessFilterTest, ilTestParticipantDataTest, ilTestParticipantListTest, ilTestParticipantScoringTest, ilTestParticipantsGUITest, ilTestParticipantTest, ilTestPassesSelectorTest, ilTestPassFinishTasksTest, ilTestPasswordCheckerTest, ilTestPasswordProtectionGUITest, ilTestPlayerCommandsTest, ilTestPlayerFactoryTest, ilTestPlayerRandomQuestionSetGUITest, ilTestProcessLockerDbTest, ilTestProcessLockerFactoryTest, ilTestProcessLockerFileTest, ilTestProcessLockerNoneTest, ilTestProcessLockFileStorageTest, ilTestQuestionFilterLabelTranslatorTest, ilTestQuestionHeaderBlockBuilderTest, ilTestQuestionNavigationGUITest, Test\tests\ilTestQuestionPoolSelectorExplorerTest, ilTestQuestionRelatedObjectivesListTest, ilTestQuestionSetConfigFactoryTest, ilTestRandomQuestionCollectionSubsetApplicationListTest, ilTestRandomQuestionCollectionSubsetApplicationTest, ilTestRandomQuestionSetConfigGUITest, ilTestRandomQuestionSetConfigStateMessageHandlerTest, ilTestRandomQuestionSetConfigTest, ilTestRandomQuestionSetNonAvailablePoolTest, ilTestRandomQuestionSetPoolDeriverTest, ilTestRandomQuestionSetQuestionCollectionTest, ilTestRandomQuestionSetQuestionTest, ilTestRandomQuestionSetSourcePoolDefinitionFactoryTest, ilTestRandomQuestionSetSourcePoolDefinitionListTest, ilTestRandomQuestionSetSourcePoolDefinitionTest, ilTestRandomQuestionSetStagingPoolBuilderTest, ilTestRandomQuestionSetStagingPoolQuestionListTest, ilTestRandomQuestionSetStagingPoolQuestionTest, ilTestRandomQuestionsQuantitiesDistributionTest, ilTestRandomQuestionsSrcPoolDefinitionQuantitiesCalculationTest, ilTestReindexedSequencePositionMapTest, ilTestResultsGUITest, ilTestResultsToXMLTest, ilTestSequenceFactoryTest, ilTestSequenceFixedQuestionSetTest, ilTestSequenceRandomQuestionSetTest, ilTestSequenceTest, ilTestServiceGUITest, ilTestServiceTest, ilTestSessionFactoryTest, ilTestSessionTest, ilTestSkillAdministrationGUITest, ilTestSkillEvaluationGUITest, ilTestSkillEvaluationTest, ilTestSkillLevelThresholdExporterTest, ilTestSkillLevelThresholdImporterTest, ilTestSkillLevelThresholdImportFailsTest, ilTestSkillLevelThresholdImportListTest, ilTestSkillLevelThresholdImportTest, ilTestSkillLevelThresholdListTest, ilTestSkillLevelThresholdsGUITest, ilTestSkillLevelThresholdTest, ilTestSkillLevelThresholdXmlParserTest, ilTestSkillPointAccountTest, ilTestTaxonomyTreeTest, ilTestToplistGUITest, ilTestVirtualSequenceRandomQuestionSetTest, ilTestVirtualSequenceTest, ILIAS\Test\Tests\Presentation\TabsManagerTest, ILIAS\Test\Tests\Questions\Presentation\QuestionsOfAttemptTableTest, ILIAS\Test\Tests\Questions\Presentation\QuestionsTableTest, ILIAS\Test\Tests\Results\Presentation\TitlesBuilderTest, MarkSchemaGUITest, MarkSchemaTableTest, MarkSchemaTest, Results\Toplist\DataRetrievalTest, Results\Toplist\TestTopListRepositoryTest, ilResultsByQuestionTableGUITest, ilTestPassDetailsOverviewTableGUITest, ilTestPassOverviewTableGUITest, ilTestPersonalDefaultSettingsTableGUITest, ilTestQuestionBrowserTableGUITest, ilTestSkillLevelThresholdsTableGUITest, ilTestVerificationTableGUITest, TestScoringByParticipantPassesOverviewTableGUITest, TestScoringByParticipantTableGUITest, TestDICTest, TestScoringByParticipantGUITest, TestScoringTest, ilTestInfoScreenToolbarGUITest, ilTestNavigationToolbarGUITest, ilTestRandomQuestionSetSourcePoolDefinitionListToolbarGUITest, and ilTestSkillEvaluationToolbarGUITest.

Definition at line 43 of file ilTestBaseTestCase.php.

43 : void
44 {
45 error_reporting(E_ALL);
46 $this->defineGlobalConstants();
47
48 global $DIC;
49 $this->backup_dic = is_object($DIC) ? clone $DIC : $DIC;
50
51 $DIC = $this->getMockBuilder(Container::class)->onlyMethods([])->getMock();
52 $this->addGlobals();
53 $this->dic = $DIC;
54
55 parent::setUp();
56 }

References $DIC, addGlobals(), and defineGlobalConstants().

+ Here is the call graph for this function:

◆ tearDown()

ilTestBaseTestCase::tearDown ( )
protected

Definition at line 58 of file ilTestBaseTestCase.php.

58 : void
59 {
60 global $DIC;
61
63
64 parent::tearDown();
65 }

References $backup_dic, and $DIC.

Field Documentation

◆ $backup_dic

Container ilTestBaseTestCase::$backup_dic = null
protected

Definition at line 38 of file ilTestBaseTestCase.php.

Referenced by tearDown().

◆ $dic

Container ilTestBaseTestCase::$dic = null
protected

Definition at line 37 of file ilTestBaseTestCase.php.

◆ $DYNAMIC_CLASS_COUNT

int ilTestBaseTestCase::$DYNAMIC_CLASS_COUNT = 0
staticprotected

Definition at line 36 of file ilTestBaseTestCase.php.

Referenced by createTraitInstanceOf().

◆ DYNAMIC_CLASS

const string ilTestBaseTestCase::DYNAMIC_CLASS = 'DynamicClass'

Definition at line 35 of file ilTestBaseTestCase.php.

◆ MOCKED_METHOD_WITHOUT_OUTPUT

const string ilTestBaseTestCase::MOCKED_METHOD_WITHOUT_OUTPUT = 'MOCKED_METHOD_WITHOUT_OUTPUT'

Definition at line 34 of file ilTestBaseTestCase.php.


The documentation for this class was generated from the following file: