easymock, powermock, and mockito
Easymock Class Mocking Limitations
To be coherent with interface mocking, EasyMock provides a built-in behavior for equals(), toString(), hashCode() and finalize() even for class mocking. It means that you cannot record your own behavior for these methods. This limitation is considered to be a feature that prevents you from having to care about these methods.
Final methods cannot be mocked. If called, their normal code will be executed.
Private methods cannot be mocked. If called, their normal code will be executed. During partial mocking, if your method under test is calling some private methods, you will need to test them as well since you cannot mock them.
Class instantiation is performed using Objenesis. Supported JVMs are listed here.
--from http://easymock.org/user-guide.html
EasyMock Add-ons
Powermock is built on top of EasyMock. It uses a custom classloader and bytecode manipulation to enable mocking of static methods, constructors, final classes and methods, private methods, removal of static initializers and more
Junit and EasyMock
https://dzone.com/refcardz/junit-and-easymock