1

The title is generic enough, but I actually have a concrete example of student assignment of the breakout game (from stanford cs106a) to be autograded:

https://github.com/practischool/breakout-demo

Breakout.java is the starter code. BreakoutSolution.java is a sample solution copied from the Internet.

My goal is to develop a program (could be unit tests, or any automatic mechanism) that checks the basic functionality of the submitted assignment. It would be better if it is integration test (rather than unit test), since I want to leave the details (like class design, architecture, function decomposition, etc) open to the students.

FYI: The project uses a stanford-maintained library spl.jar, which internally uses swing and awt.

wlnirvana
  • 1,811
  • 20
  • 36
  • As with any test, you need to be able to (optionally) provide input, and be able to observe and verify the output. At its extreme it would involve a robotic hand and a video camera that analyzes the screen, plus the ruleset that would determine whether a "test" passes or fails. If you provide constraints (code needs to extend classes given by you, etc.), it becomes more easily testable. – Kayaman Oct 30 '19 at 14:33

0 Answers0