Learn How to Auto-Grade
Last updated
Was this helpful?
Last updated
Was this helpful?
Auto-grading is a powerful tool that saves teachers time and provides students with feedback regarding the correctness of their solution before they submit it for a grade.
All of this auto-grading magic can be accomplished with unit testing -- test whether parts (units) of a students code work properly by asserting that they meet certain conditions (equal to a predetermined value, produce a result in a given range, etc.).
New to Unit Testing? Let's do a brief review.
TODO
The basic building blocks of unit testing are test cases — single scenarios that must be set up and checked for correctness.
TODO
The simplest subclass will simply implement a test method (i.e. a method whose name starts with test
) in order to perform specific testing code:
Note that in order to test something, we use one of the assert*()
methods provided by the base class. If the test fails, an exception will be raised with an explanatory message, and will identify the test case as a failure. Any other exceptions will be treated as errors.
Tests can be numerous, and their set-up can be repetitive. Luckily, we can factor out set-up code by implementing a method called , which the testing framework will automatically call for every single test we run:
Similarly, we can provide a method that tidies up after the test method has been run:
If succeeded, will be run whether the test method succeeded or not.
, former Computer and Software Engineering instructor at in Lincoln, Rhode Island.
Joe is now a Senior Product Manager/Product Development Lead at John Wiley & Sons, Inc., working on and .
Like what Joe created? ☕ Buy him a coffee: