关于自动分级
您可以使用自动评分来自动检查学生在 GitHub 课堂 上的工作。 您可以为作业配置测试,每次学生推送到 GitHub 上的作业库时,测试就会立即运行。 学生可以查看测试结果,进行更改,并推送以查看新结果。
学生接受作业后,每次推送到作业仓库时,GitHub Actions 都会在包含学生最新代码的 Linux 环境中运行自动分级测试的命令。 GitHub 课堂 为 GitHub Actions 创建必要的工作流程。 您不需要使用 GitHub Actions 的经验便可使用自动分级。
您可以使用测试框架、运行自定义命令、编写输入/输出测试或组合不同的测试方法。 用于自动分级的 Linux 环境包含许多流行的软件工具。 更多信息请参阅 GitHub 托管的运行器的规格中最新版 Ubuntu 的详细信息。
您可以通过导航 GitHub 课堂 中的作业来查看哪些学生通过了自动分级测试的概况。 绿色复选标记表示学生的所有测试都已通过,红色 X 表示学生的部分或所有测试都未通过。 如果您为一个或多个测试评分,则气泡会显示测试的分数以及作业可得最高分数。
评分方法
有两种评分方法:输入/输出测试和运行命令测试。
输入/输出测试
输入/输出测试可以选择性运行设置命令,然后向测试命令提供标准输入。 GitHub 课堂 根据预期结果评估测试命令的输出。
设置 | 描述 |
---|---|
测试名称 | 测试的名称,用于识别日志中的测试 |
设置命令 | 可选。 在测试之前运行的命令,如编译或安装 |
运行命令 | 运行测试并生成用于评估的标准输出的命令 |
输入 | 运行命令的标准输入 |
预期输出 | 您要视为运行命令的标准输出的输出 |
比较 | 运行命令的输出和预期输出之间的比较类型
|
超时 | 测试在导致失败之前应运行多长时间(分钟) |
分数 | 可选。 测试从总分中获得的分数 |
运行命令测试
运行命令测试运行设置命令,然后运行测试命令。 GitHub 课堂 检查测试命令的退出状态。 0
的退出代码导致成功,任何其他退出代码导致失败。
GitHub 课堂 为各种编程语言提供语言特定的运行命令测试预设。 例如,运行节点测试使用 npm install
预填设置命令,使用 npm test
预填测试命令。
设置 | 描述 |
---|---|
测试名称 | 测试的名称,用于识别日志中的测试 |
设置命令 | 可选。 在测试之前运行的命令,如编译或安装 |
运行命令 | 运行测试并生成用于评估的退出代码的命令 |
超时 | 测试在导致失败之前应运行多长时间(分钟) |
分数 | 可选。 测试从总分中获得的分数 |
配置作业的自动评分测试
您可以在创建新作业时添加自动评分测试。 更多信息请参阅“创建个人作业”或“创建小组作业”。
您可以添加、编辑或删除现有作业的自动评分测试。 如果您更改现有作业的自动评分测试,现有作业仓库将不会受到影响。 学生或团队必须接受作业并创建一个新的作业仓库来使用新的测试。
- 登录 GitHub Classroom。
- 在课堂列表中,单击要查看的课堂。
- 在要编辑的作业的右侧,单击 。
- 在左侧边栏中,单击 Grading and feedback(评分并反馈)。
- 添加、编辑或删除自动评分测试。
- 要添加测试,在“Add autograding tests(添加自动评分测试)”下,选择 Add test(添加测试)下拉菜单,然后单击您想要使用的评分方法。
配置测试,然后单击“Save test case(保存测试用例)”。
- 要编辑测试,请点击测试名称右侧的 。
配置测试,然后单击“Save test case(保存测试用例)”。
- 要删除测试,请点击测试名称右侧的 。
- 要添加测试,在“Add autograding tests(添加自动评分测试)”下,选择 Add test(添加测试)下拉菜单,然后单击您想要使用的评分方法。
- 在页面底部,单击 Update assignment(更新作业)。
查看自动评分测试的日志
- 登录 GitHub Classroom。
- 在课堂列表中,单击要查看的课堂。
- 在作业列表中,单击要查看的作业。
- 在提交的右侧,请单击 View test(查看测试)。
- 查看测试输出。 更多信息请参阅“使用工作流程运行日志”。