1) JUnit is the de facto standard library for unit testing in Java
2) JUnit is supported out of the box by all major IDEs
3) JUnit has sh*tloads of extensions available for various purposes beyond unit testing plain old Java objects (HttpUnit, JWebUnit, XMLUnit, dbUnit, TagUnit, J2MEUnit, JFCUnit, JUnitPerf, Cactus, SQLUnit to name a few)
4) JUnit has great
Ant integration via the <junit> and <junitreport> tasks
Some folks have minor complaints about the restrictions JUnit enforces on your test code, but these issues tend to be really minor annoyances. In fact, most of the time the complaints come up because people try to use plain JUnit for things other than
unit testing.