Selecting a mock framework to use for mocking objects is important for a smooth unit testing experience. However, there are no written rules to be followed for this. You can consider some factors and features of the mocking framework when selecting a mocking framework for use in your tests.
Performance and available features should be the first factors to be considered when selecting a mocking framework. You should examine the way the mocking framework creates mocks; frameworks that use inheritance, virtual, and static methods cannot be mocked. Other features to look out for can be methods, properties, events, and even if the framework supports LINQ.
Additionally, nothing beats simplicity and the ease of use of a library. You should go for a framework that is easy to use, with good documentation of the available features. In the subsequent sections...