EasyMock. Reasons from their site
'EasyMock provides Mock Objects for interfaces (and objects through a class extension), creating them on the fly using the Java proxy mechanism. Due to EasyMock's unique waiting style, most refactoring will not affect Mock Objects. Thus, EasyMock is ideally suited for test-based development.
source share