-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Java contract test helpers
Stefan Birkner edited this page Aug 3, 2014
·
6 revisions
Certain code you override or implement is expected to adhere to contracts laid out in the Java SDK. Examples of these are:
- equals method: http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals(java.lang.Object)
- hashcode method: http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#hashCode()
- Comparable interface: http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html
- Serializable interface: http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html
A project called junit-addons on SourceForge has test superclasses that enable compliance testing of objects to these java contracts
Although these test helper classes work without issue, they are designed for pre-generic java, and JUnit 3.x and could be confusing to developers used to JUnit 4.x annotations style of test implementation.