Consult the following resources for more information about testing:
JUnit: "A programmer-oriented testing framework for Java".
Used by the Spring Framework in its test suite.
TestNG: A testing framework inspired by JUnit with added support
for annotations, test groups, data-driven testing, distributed testing, etc.
AssertJ: "Fluent assertions for Java"
including support for Java 8 lambdas, streams, etc.
Mock Objects: Article in Wikipedia.
MockObjects.com: Web site dedicated to mock objects, a
technique for improving the design of code within test-driven development.
Mockito: Java mock library based on the
test spy pattern.
EasyMock: Java library "that provides Mock Objects for
interfaces (and objects through the class extension) by generating them on the fly
using Java’s proxy mechanism." Used by the Spring Framework in its test suite.
JMock: Library that supports test-driven development of Java
code with mock objects.
DbUnit: JUnit extension (also usable with Ant and
Maven) targeted for database-driven projects that, among other things, puts your
database into a known state between test runs.
The Grinder: Java load testing framework.