Test Cases

Provide automated grading and feedback to your students in seconds with test cases.

Within both Programming Projects and Assignments, instructors can configure a set of test cases to automate the evaluation of students' code. These test cases can be used to determine correctness, provide dynamic feedback, and much more. Mimir Classroom currently supports four different test case types: I/O tests, unit tests, code quality tests, and custom tests.

Types of test cases

I/O tests

Our I/O test cases make it easy to check a wide range of inputs. Simply enter inputs and Mimir will handle the rest. Along with basic output matching, you can use I/O templating to fuzzy match your student’s output.

Unit tests

Unit test cases allow you to test units of your student’s source code, including statements, branches, functions, and methods. We utilize well supported frameworks including Google Test for C++, Python's unit test, and Ruby's RSpec to ensure the best experience for you and your students.

Code quality tests

Code quality test cases help students adhere to certain coding standards and cleanliness. We use a variety of linters and other code quality analysis tools for each language to generate a quality score for your student's code.

Custom tests (Bash script)

Custom test cases can be used to accomplish almost anything that you can't do with the other test case types. Inside of these test cases, we allow you to upload more files in a zip and write a script in Bash that can be used to control whether a test fails or succeeds.