I am teaching a course in C++. For automatic homework grading, I use a system that works as follows:
- Clones the student’s repository from GitHub;
- Copies the test files from my repository on top of the student’s code;
- Runs the tests, computes the grade and records it.
Now, I would like to switch to using Github Classroom, but I do not understand how the autograding feature works. In particular, when I try to add a test-case, I can enter the test name and command, but there is no place to enter the files with all the tests.
I thought that maybe I have to put my tests in the “template repository” that is given to the students. The problem is that students can delete tests that they do not manage to pass, so that they get 100. With 250 students and over 400 tests per exercise, it is nearly impossible to detect such deletions.
Is there a way to tell Github Classroom to copy my files on top of the repository submitted by the student, so that I can be sure that my tests are the ones that are executed?