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