While mocking frameworks are very useful during TDD in that they simplify unit testing through the use of mock objects, they, however, have some limitations and downsides that can impact the design of the code or through excessive usage lead to the creation of tangled tests containing irrelevant mock objects.
The shortcomings of mocking frameworks
Interface explosion
The architecture of the majority of the mocking frameworks necessitates that interfaces should be created in order to mock objects. In essence, you cannot mock a class directly; it has to be through the interface implemented by the class. In an attempt to mock dependencies during unit testing, an interface is created for each object or dependency to be mocked...