The key difference between a library and a framework is "Inversion of Control". When you call a method from a library, you are in control. But with a framework, the control is inverted: the framework calls you.
Frameworks:
- jUnit
- TestNG
- Spring
- PowerMock