You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Classroom自动评分无分数显示问题及classroom.yml修正咨询

GitHub Classroom 自动评分不显示分数的修复方案

问题分析

当前配置存在三点核心问题:未明确指定自动评分配置文件路径、依赖安装重复执行、使用旧版本Action存在兼容性隐患,导致GitHub Classroom无法正确统计并展示测试分数。

修正步骤

1. 更新 classroom.yml 配置

替换为以下优化后的配置,升级Action版本并梳理流程逻辑:

# GitHub Classroom 自动评分工作流
name: GitHub Classroom Workflow

on: [push, pull_request]

jobs:
  autograding:
    name: 自动评分
    runs-on: ubuntu-latest
    steps:
      - name: 拉取代码
        uses: actions/checkout@v4
      
      - name: 设置Python环境
        uses: actions/setup-python@v5
        with:
          python-version: '3.x'
      
      - name: 安装依赖
        run: |
          python -m pip install --upgrade pip
          pip install -r requirements.txt
      
      - name: 执行自动评分
        uses: education/autograding@v1
        with:
          config-path: ./autograding.json

2. 优化 autograding.json 配置

移除重复的依赖安装命令,调整pytest输出格式,确保评分动作能准确识别测试结果:

{
  "tests": [
    {
      "name": "任务1: 测试hello函数",
      "setup": "",
      "run": "pytest test_assignment.py::test_hello --tb=short --quiet",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 5,
      "points": 1
    },
    {
      "name": "任务2: 测试add_two函数",
      "setup": "",
      "run": "pytest test_assignment.py::test_add_two --tb=short --quiet",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 5,
      "points": 1
    },
    {
      "name": "任务3: 测试zero_array函数",
      "setup": "",
      "run": "pytest test_assignment.py::test_zero_array --tb=short --quiet",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 5,
      "points": 1
    }
  ]
}

关键修复点说明

  • 升级Action版本:使用最新的actions/checkout@v4和actions/setup-python@v5,解决旧版本的兼容性问题,确保环境配置准确。
  • 统一依赖安装:将依赖安装从每个测试的setup中移到全局步骤,避免重复执行导致的错误,提升运行效率。
  • 明确配置文件路径:通过config-path参数指定autograding.json位置,确保自动评分动作能正确读取测试配置。
  • 优化pytest输出:添加--tb=short(简化错误栈)和--quiet(减少冗余输出),避免过多输出干扰评分动作的结果识别。

额外检查项

  • 确认autograding.json存放在仓库根目录,与classroom.yml同路径。
  • 在本地运行pytest命令,确保测试用例本身能正常执行且无报错。
  • 查看GitHub Action运行日志,若仍有问题,根据日志中的错误信息进一步排查(如依赖缺失、测试命令错误等)。

内容的提问来源于stack exchange,提问作者david

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:38:13