MDL-66903 testing: Helper to load fixture files
This commit is contained in:
@@ -741,4 +741,38 @@ abstract class advanced_testcase extends base_testcase {
|
||||
\core\task\manager::adhoc_task_complete($task);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience method to load a fixture from a component's fixture directory.
|
||||
*
|
||||
* @param string $component
|
||||
* @param string $path
|
||||
* @throws coding_exception
|
||||
*/
|
||||
protected static function load_fixture(
|
||||
string $component,
|
||||
string $path,
|
||||
): void {
|
||||
$fullpath = sprintf(
|
||||
"%s/tests/fixtures/%s",
|
||||
\core_component::get_component_directory($component),
|
||||
$path,
|
||||
);
|
||||
if (!file_exists($fullpath)) {
|
||||
throw new \coding_exception("Fixture file not found: $fullpath");
|
||||
}
|
||||
|
||||
global $ADMIN;
|
||||
global $CFG;
|
||||
global $DB;
|
||||
global $SITE;
|
||||
global $USER;
|
||||
global $OUTPUT;
|
||||
global $PAGE;
|
||||
global $SESSION;
|
||||
global $COURSE;
|
||||
global $SITE;
|
||||
|
||||
require_once($fullpath);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ information provided here is intended especially for developers.
|
||||
* The `\core\dataformat::get_format_instance` method is now public, and can be used to retrieve a writer instance for
|
||||
a given dataformat
|
||||
* Added the ability for unit tests to autoload classes in the `\[component]\tests\` namespace from the `[path/to/component]/tests/classes` directory.
|
||||
* Added the `advanced_testcase::load_fixture()` helper to load fixtures from a components `tests/fixtures/` folder.
|
||||
|
||||
=== 4.3.4 ===
|
||||
|
||||
|
||||
Reference in New Issue
Block a user