自動採点について
GitHub Classroom上で課題に対する学生の作業を自動的にチェックするために、自動評価を利用できます。 課題のためのテストを設定すると、それらのテストは学生が課題をGitHub.com上のリポジトリにプッシュするたびにすぐに実行されるようになります。 学生は、テストの結果を見て、変更を行い、新しい結果を見るためにプッシュできます。
学生が課題を受け入れた後、GitHub Actionsは、自動採点テストを行うコマンドを、課題リポジトリへの各プッシュに対して学生の最新コードを含むLinux環境で実行します。 GitHub Classroomは、 GitHub Actionsに必要なワークフローを作成します。 自動採点の使用にあたり、GitHub Actionsの経験は不要です。
テストフレームワークを使用したり、カスタムコマンドを実行したり、入出力テストを記述したり、さまざまなテスト方法を組み合わせたりすることができます。 自動採点用のLinux環境には、一般的なソフトウェアツールが数多く含まれています。 詳しい情報については、「GitHubホストランナーの仕様」に記載された、Ubuntu最新バージョンの詳細を参照してください。
GitHub Classroomの課題に移動して、自動採点テストでどの学生が合格したかの概要を表示できます。 緑色のチェックマークは、その学生がすべてのテストに合格したことを意味します。赤色のXは、その学生が一部またはすべてのテストで不合格だったことを意味します。 1つ以上のテストに得点を与えている場合、課題で獲得できる最高得点が吹き出しに表示されます。
採点方法
採点方法には、入出力テストと実行コマンドテストの2つがあります。
入出力テスト
入出力テストは必要に応じてセットアップコマンドを実行してから、テストコマンドに標準出力を渡します。 GitHub Classroomは、テストコマンドの出力を期待する結果と照らし合わせて評価します。
設定 | 説明 |
---|---|
Test name | テストの名前。ログでテストを識別するためのものです。 |
Setup command | (オプション) コンパイルやインストールなど、テストを実行する前のコマンド。 |
Run command | テストを実行し、評価用の標準出力を生成するコマンド。 |
Inputs | 実行コマンドの標準入力。 |
Expected output | 実行コマンドによる標準出力として期待する出力結果。 |
Comparison | 実行コマンドの出力と期待する出力との比較方法。
|
Timeout | 失敗の結果が出るまでにテストを実行する時間(分単位)。 |
Points | (オプション) テストの合計点に占める点数。 |
実行コマンドテスト
実行コマンドテストはセットアップコマンドを実行してから、テストコマンドを実行します。 GitHub Classroomは、テストコマンドの終了ステータスをチェックします。 終了コードが0
の場合は成功、その他の場合は失敗です。
GitHub Classroomは、さまざまなプログラミング言語に対し、言語特有の実行コマンド用プリセットを提供しています。 たとえば、Run nodeテストではセットアップコマンドにnpm install
が、テストコマンドにnpm test
が事前に設定されています。
設定 | 説明 |
---|---|
Test name | テストの名前。ログでテストを識別するためのものです。 |
Setup command | (オプション) コンパイルやインストールなど、テストを実行する前のコマンド。 |
Run command | テストを実行し、評価用の終了コードを生成するためのコマンド。 |
Timeout | 失敗の結果が出るまでにテストを実行する時間(分単位)。 |
Points | (オプション) テストの合計点に占める点数。 |
アシスタントのために自動採点テストを設定する
新課題の作成時に、自動採点テストを追加できます。 詳しい情報については、「個人課題の作成」または「グループ課題の作成」を参照してください。
既存の課題用の自動採点テストを追加、編集、削除できます。 All changes made via the Classroom UI will be pushed to the existing student repositories, so use caution when editing your tests.
- GitHub Classroomにサインインしてください。
- クラスルームのリストで、表示したいクラスルームをクリックしてください。
- 編集したい課題の右で、をクリックしてください。
- 左サイトバーで、[Grading and feedback] をクリックします。
- 自動採点テストを追加、編集、または削除します。
- テストを追加するには、[Add autograding tests] の下にある [Add test] ドロップダウンメニューを選択し、使用する採点方法をクリックします。
テストを設定し、[Save test case] をクリックします。
- テストを編集するには、テスト名の右側にある をクリックします。
テストを設定し、[Save test case] をクリックします。
- テストを削除するには、テスト名の右側にある をクリックします。
- テストを追加するには、[Add autograding tests] の下にある [Add test] ドロップダウンメニューを選択し、使用する採点方法をクリックします。
- ページの下部で、[Update assignment] をクリックします。
Viewing and downloading results from autograding tests
Download autograding results
You can also download a CSV of your students' autograding scores via the "Download" button. This will generate and download a CSV containing a link to the student's repository, their GitHub handle, roster identifier, submission timestamp, and autograding score.
View individual logs
- GitHub Classroomにサインインしてください。
- クラスルームのリストで、表示したいクラスルームをクリックしてください。
- 課題のリスト中で、表示したい課題をクリックしてください。
- 提出物の右側にある、[View text] をクリックします。
- テストの出力結果をレビューします。 詳しい情報については、「ワークフロー実行ログを使用する」を参照してください。