Cricket Cage uses AspectJ to insert code into your classes to generate the code for the test case. The aspects defined capture every call executed from outside a set of classes to every call on classes within that set. Cricket Cage makes creating the test state gets very easy.