Automated Test-Suite Scoring

AssignmentOS supports automated test-suite scoring in all of our supported languages. AssignmentOS test cases are implemented in code using testing libraries (such as JUnit, XUnit, etc.), which opens up an abundance of possibilities of what you can test for in a student's submission. Object equality, integer comparison (less than, greater than, etc.), proper exception handling, the sort order of lists, etc., are all possible. When creating a new custom assignment, you can set the number of required passing unit tests. This is the minimum number of test cases (either unit tests or integration tests) a student's submission must pass for us to mark the student as having passed the assignment. We also provide the option to include the passing test cases that were written by the student when checking did the total number of passing test cases equal or exceed the require passing test case number.

Note that by default, all test files you add are immutable, meaning that they cannot be edited by the student. This prevents the scenario whereby the student changes all the asserts in your unit/integration tests to pass (e.g. assert(true == true)), resulting in AssignmentOS marking those test cases as passing and thus generating an inaccurate score for the student. If you want to allow the student to modify existing test files, you can tick the Unit test modifiable box when creating a new/editing an assignment:

AssignmentOS tip: If your assignment's test files are immutable (i.e. if the "Unit tests modifiable" field is not checked), it's helpful to add a note to theREADMEin your assignment stating the tests are immutable and that if the student wants to add their own unit tests, they need to add these in a separate unit/integration test file(s).

Last updated