NSubstitute, and FakeItEasy. • limited to the same compiler rules as regular code. • Unable to fake static methods, nonvirtual methods, nonpublic methods, private methods, sealed classes, classes with private constructors. Unconstrained • Typemock Isolator, JustMock and MS Fakes. • Based around profiling API in .NET • Can fake third-party systems you can’t control and that are potentially very hard to test, such as if your objects have to inherit from the base class of a third-party product. • easy to fake things that aren’t needed, instead of looking at the unit of work at a higher level • Test can become unmaintainable because you’re faking APIs that you don’t own.