junit-objects (JO) is a regression testing and profiling framework for Java objects
junit-objects is different from Junit in that it allows you to assert the state of objects and design patterns
rather than the result of method calls. It should be seen as a replacement for previous unit testing frameworks.
Features
junit-objects focuses on testing objects: their structure, state and behavior
An object's state is asserted with testing protocols. For instance, the following asserts that an
object has isTrue set as true; and that myString
matches the regular expression "[junit]{4}-[objects]*"
JO greatly reduces the amount of code in a unit-test in this manner; allowing you to "bolt on" (and reuse) assertion sequences
anywhere, with no change to your test methods
When an object changes state (its properties and behavior), you can assert that the change is deterministic and well-behaved
JO profiles let you assert design patterns and anti-patterns to keep your objects consistent and well-behaved
Also use JO profiling to root out design entropy (let JO suggest where objects may benefit from using a particular design pattern)