A18: In-class test design

Goals

The goals of this in-class assignment are:

  • To make sure that you can package up your competitive robot using the build system and a classmate can successfully run that distribution;
  • That you can write a very simple acceptance test and add it to a classmate’s system.

Tasks:

First, create a distribution of your competitive robot using “mvn assembly:single”. Make sure your competitive robot code passes “mvn -Drobocode.home=HOME verify” first. Email the resulting zip file to your partner.

Second, when you receive your partner’s competitive robot distribution, unzip it and run “mvn -Drobocode.home=HOME verify” to verify that the system works. If problems result, resolve them with your partner before continuing.

Third, create a new JUnit test class that performs one “acceptance test” of your partner’s system. Don’t use SittingDuck, be more adventurous. Run that test and see how your partner’s robot does against it. (There is no penalty to your partner if you pick a robot that reliably beats theirs!)

Fourth, run the maven “verify” goal to make sure that your new code maintains a “clean” system.

Fifth, talk with your partner about the design of suitable behavioral tests for your system. Write down at least two ideas for behavior tests.

Finally, raise your hands to obtain credit for this in-class exercise.