Phpunit 在Moodle中以编程方式完成课程并设定分数
我是Moodle的新手,正在开发一个旧的应用程序,以下是规范:Phpunit 在Moodle中以编程方式完成课程并设定分数,phpunit,moodle,moodle-api,Phpunit,Moodle,Moodle Api,我是Moodle的新手,正在开发一个旧的应用程序,以下是规范: $version = 2016120502.05; $release = '3.2.2+ (Build: 20170407)'; $branch = '32'; 我的最终目标是能够创建一个生成器类,为一些PHPUnit单元测试创建虚拟数据。()我发现有一个用于创建课程和用户的预构建。但我需要能够在课程中用他们的成绩给他们打分 我在看这个,这可能至少是我需要的一部分。然而,系统中有很多表,我不
$version = 2016120502.05;
$release = '3.2.2+ (Build: 20170407)';
$branch = '32';
我的最终目标是能够创建一个生成器类,为一些PHPUnit单元测试创建虚拟数据。()我发现有一个用于创建课程和用户的预构建。但我需要能够在课程中用他们的成绩给他们打分
我在看这个,这可能至少是我需要的一部分。然而,系统中有很多表,我不确定这是否是我所需要的
以下是我的代码,直到最后一点:
// Create user;
$this->user = $this->getDataGenerator()->create_user();
// Create courses.
$courseCount = 0;
$courses = [];
while ($courseCount < 5) {
$courses[] = $this->getDataGenerator()->create_course();
$courseCount++;
}
/** @var \myGlobal_generator $generator */
$generator = $this->getDataGenerator()->get_plugin_generator('myGlobal_generator');
// Create curriculum.
$this->curriculum = $generator->createCurriculum($courses);
// Now we need to set a user to have completed each one
// of the courses and set their grades for each as well.
//创建用户;
$this->user=$this->getDataGenerator()->create_user();
//创建课程。
$courseCount=0;
$courses=[];
而($courseCount<5){
$courses[]=$this->getDataGenerator()->创建课程();
$courseCount++;
}
/**@var\myGlobal\u生成器$generator*/
$generator=$this->getDataGenerator()->get_plugin_generator('myGlobal_generator');
//创建课程。
$this->currency=$generator->createcurrency($courses);
//现在我们需要设置一个用户来完成每个任务
//并为每门课程设定分数。
请注意,分级和完成跟踪不一定是相关的。例如,您可以在不涉及任何评分的情况下将活动和课程标记为已完成,如下所示:
$cmassign = get_coursemodule_from_id('assign', $cmid);
$completion = new completion_info($course);
$completion->update_state($cmassign, COMPLETION_COMPLETE, $user->id);
$ccompletion = new completion_completion(['course' => $course->id, 'userid' => $user->id]);
$ccompletion->mark_complete();
如果您真的需要测试/生成具有放坡和基于放坡的完工的数据,您可能需要按照以下方式对其进行编码:
grade\u update
创建新的评分项目(与活动和用户相关)$completion->internal\u get\u state
)