Skip to main content

使用自动分级

您可以通过配置测试在作业仓库中运行,来自动提供对您学生提交的代码的反馈。

谁可以使用此功能?

Organization owners who are admins for a classroom can set up and use autograding on assignments in a classroom. 有关课堂管理员的详细信息,请参阅“管理教室”。

关于自动分级

您可以使用自动评分来自动检查学生在 GitHub Classroom 上的工作。 可以为作业配置测试,每次学生推送到 GitHub.com 上的作业库时,测试就会立即运行。 学生可以查看测试结果,进行更改,并推送以查看新结果。

学生接受作业后,每次推送到作业仓库时,GitHub Actions 都会在包含学生最新代码的 Linux 环境中运行自动分级测试的命令。 GitHub Classroom 为 GitHub Actions 创建必要的工作流程。 您不需要使用 GitHub Actions 的经验便可使用自动分级。 有关工作流和 GitHub Actions 的详细信息,请参阅“关于持续集成”。

您可以使用测试框架、运行自定义命令、编写输入/输出测试或组合不同的测试方法。 用于自动分级的 Linux 环境包含许多流行的软件工具。 有关详细信息,请参阅“使用 GitHub 托管的运行器”中最新版本的 Ubuntu 的详细信息。

您可以通过导航 GitHub Classroom 中的作业来查看哪些学生通过了自动分级测试的概况。 绿色复选标记表示学生的所有测试都已通过,红色 X 表示学生的部分或所有测试都未通过。 如果您为一个或多个测试评分,则气泡会显示测试的分数以及作业可得最高分数。

评分方法

有两种评分方法:输入/输出测试和运行命令测试。

输入/输出测试

输入/输出测试可以选择性运行设置命令,然后向测试命令提供标准输入。 GitHub Classroom 根据预期结果评估测试命令的输出。

设置说明
测试名称测试的名称,用于识别日志中的测试
设置命令可选。 在测试之前运行的命令,如编译或安装
运行命令运行测试并生成用于评估的标准输出的命令
输入运行命令的标准输入
预期输出您要视为运行命令的标准输出的输出
比较运行命令的输出和预期输出之间的比较类型

  • 包括:当预期输出出现在 run 命令的标准输出中的任何位置时
    传递
  • 精确:当预期输出与 run 命令的标准输出完全相同时
    传递
  • 正则表达式:当预期输出中的正则表达式与 run 命令的标准输出匹配时
    传递
超时测试在导致失败之前应运行多长时间(分钟)
可选。 测试从总分中获得的分数

运行命令测试

运行命令测试运行设置命令,然后运行测试命令。 GitHub Classroom 检查测试命令的退出状态。 退出代码 0 会导致成功,任何其他退出代码都会导致失败。

GitHub Classroom 为各种编程语言提供语言特定的运行命令测试预设。 例如,运行节点测试使用 npm install 预填充 setup 命令,使用 npm test 预填充 test 命令。

设置说明
测试名称测试的名称,用于识别日志中的测试
设置命令可选。 在测试之前运行的命令,如编译或安装
运行命令运行测试并生成用于评估的退出代码的命令
超时测试在导致失败之前应运行多长时间(分钟)
可选。 测试从总分中获得的分数

配置作业的自动评分测试

您可以在创建新作业时添加自动评分测试。 有关详细信息,请参阅“创建个人作业”或“创建组分配”。

您可以添加、编辑或删除现有作业的自动评分测试。 通过课堂 UI 所做的所有更改都将推送到现有的学生资料库,因此在编辑测试时要小心。

  1. 登录 GitHub Classroom

  2. 在课堂列表中,单击要查看的课堂。

  3. 在要编辑的作业的右侧,单击

  4. 在左侧边栏中,单击“评分和反馈”。

  5. 添加、编辑或删除自动评分测试。

    • 要添加测试,请在“添加自动评分测试”下选择“添加测试”下拉菜单,然后单击要使用的评分方法。 配置测试,然后单击“保存测试用例”。

    • 要编辑测试,请点击测试名称右侧的 。 配置测试,然后单击“保存测试用例”。

    • 要删除测试,请点击测试名称右侧的

  6. 在页面底部,单击“更新作业”。

查看和下载自动分级测试的结果

下载自动评分结果

您也可以通过“Download(下载)”按钮下载学生自动评分的 CSV。 这将生成并下载一个包含学生仓库链接、其 GitHub 处理、名册标识、提交时间戳和自动评分的CSV。

查看单个日志

  1. 登录 GitHub Classroom
  2. 在课堂列表中,单击要查看的课堂。
  3. 在作业列表中,单击要查看的作业。
  4. 在提交右侧,单击
  5. 查看测试输出。 有关详细信息,请参阅“使用工作流运行日志”。

延伸阅读