Conversation
How we can avoid this kind of changes? The code that students have to change, and autograding tests are in the same repository. How can we be sure that students does not change them? When I correct with tests I overwrite package.json and tests just to be sure that everything works as expected. How we can do that, or similar, with Classroom and Autograding tests?
|
I agree with @drpicox - a student could just alter the tests to |
I also agree. For now, I'm generating an md5sum of the jest script. Then, before any unit testing for autograding purposes, I add an input/output test that checks the md5sum of the test file pushed by the student. If both md5 are equal, I can assume there is no cheating. Actually it's not very elegant but it works... |
Uhmm, that is quite good. But it only works if you download all the repositories and check them with your code and your stored hashes. Which, unfortunately, it is also quite a job. |
@drpicox Actually, I also automated this task with an input/output test, for instance: As far as GitHub classroom tests are actually running in a GitHub actions environment, we can use standard commands like md5sum. |
|
Oh, this looks good. I think that should be better having two repositories:
Ok, it is less fancy, but it is easier to maintain, much more difficult to screw up. |

How can we avoid this kind of changes?
The code that students have to change, and autograding tests are in the same repository.
How can we be sure that students does not change them?
When I correct with tests I overwrite package.json and tests just to be sure that everything works as expected.
How we can do that, or similar, with Classroom and Autograding tests?