MDL-66903 core: Introduce \core_component::reset to replace hacks

Traditionally we have done this using reflection and it would be better
to do this in a 'proper' fashion in case we ever need to change how it
works.
This commit is contained in:
Andrew Nicols
2024-07-15 12:22:20 +08:00
parent 9e71503ab3
commit ee5ac3f1f3
3 changed files with 16 additions and 7 deletions
+3 -2
View File
@@ -87,8 +87,9 @@ abstract class advanced_testcase extends base_testcase {
// Reset global state after test and test failure.
$CFG = phpunit_util::get_global_backup('CFG');
$DB = phpunit_util::get_global_backup('DB');
// This is _hacky_. We need to reset the autoloader, and this is the only way to do so right now.
(new ReflectionProperty(\core_component::class, 'plugintypes'))->setValue(null, null);
// We need to reset the autoloader.
\core_component::reset();
}
if (isset($e)) {