6

我们正在试验和评估 GitHub Classroom 和 GitHub Actions 的“自动评分”。

在我们的作业中,如果通过单元测试,学生将获得分数。所以 autograding.json 运行起来比较简单mvn test -Dtest=testClass#testmethod

在默认设置中,我对以下几点不满意:

  • 如果构建(即测试)失败,GitHub(Actions)会向您发送邮件,但如果测试成功,您不会收到邮件。如果学生在通过自动评分(即单元测试)时得到反馈,那就太好了。如何才能做到这一点?

  • GitHub (Actions) 没有在邮件中提供任何详细信息,您必须访问操作页面。如果您可以提供点数以及对错误的一些单行解释,那就更好了。如何才能做到这一点?

为了说明我想要什么:如果 JSON 允许指定成功时的反馈消息和失败时的反馈消息,并且 GitHub Action 邮件应该包含此文本(如果不可能,应该有一个很好的格式显示此文本的网页)。不幸的是,我没有找到关于 JSON 的任何文档。是否有任何关于 autograde.json 的文档?

我也对其他选择感兴趣。

下面是我们目前使用的 autograde.json 的一个例子:

{
  "tests": [
    {
      "name": "Unit Tests - Testing your Application: DoubleVector - BasicFunctionality",
      "setup": "",
      "run": "mvn -q -B -Dtest=DoubleVectorFromArrayTest#testBasicFunctionality test",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 0.5
    },
    {
      "name": "Unit Tests - Testing your Application: DoubleVector - Accuracy",
      "setup": "",
      "run": "mvn -q -B -Dtest=DoubleVectorFromArrayTest#testAccuracy test",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 0.5
    },
    {
      "name": "Unit Tests - Testing your Application: QuadraticEuation",
      "setup": "",
      "run": "mvn -q -B -Dtest=QuadraticEuationFromCoefficientsTest test",
      "input": "",
      "output": "",
      "comparison": "included",
      "timeout": 10,
      "points": 1
    }
  ]
}
4

1 回答 1

1

GHA 没有提供这种开箱即用的功能。相反,您需要自己实现它,或者使用市场上的现有操作。 是一个示例,它允许您通过 smpt 发送电子邮件。(注意:我自己没有使用链接操作,但希望它能够工作)。

于 2020-08-22T14:36:43.903 回答