Found this interesting project called junit-objects for testing state changes of objects rather than the results of method calls.
Documentation is still thin. A question I have is whether there’s any need to test the internal states (members) of an object? Should the externally observable behaviour be the only thing that matters. Anyway, junit-objects
has some interesting ideas for writing assertions using OGNL to test expected state transition.