dirroot/repository/lib.php"); // Generate a mock class for each plugin subclass present $repository_plugins = get_list_of_plugins('repository'); foreach ($repository_plugins as $plugin) { require_once($CFG->dirroot . "/repository/$plugin/lib.php"); Mock::generatePartial("repository_$plugin", "partialmock_$plugin", array('send_package')); } class repositorylib_test extends UnitTestCaseUsingDatabase { public static $includecoverage = array('repository/lib.php'); function setup() { parent::setup(); } public function test_plugins() { $plugins = get_list_of_plugins('repository'); foreach ($plugins as $plugin) { // Instantiate a fake plugin instance $plugin_class = "partialmock_$plugin"; $plugin = new $plugin_class($this); // add common plugin tests here } } }