CheckOps home

Tools directory

F

CheckOps

FakeItEasy

FakeItEasy is an MIT-licensed .NET dynamic fake library for creating fakes, mocks and stubs with a context-aware fluent interface, compatible with C# and VB.NET.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

FakeItEasy simplifies .NET test doubles: all fake objects are just fakes, and how you use them determines whether they act as mocks or stubs. A context-aware fluent interface guides you, and it works with both C# and VB.NET.

Configuring and asserting use the same syntax: A.CallTo(() => shop.GetTopSellingCandy()).Returns(lollipop) sets behaviour, and A.CallTo(() => shop.BuyCandy(lollipop)).MustHaveHappened() verifies it. Every faked instance looks and feels like the faked type, so tests read like ordinary code.

The source code is at FakeItEasy/FakeItEasy on GitHub under the MIT licence, with about 1,900 stars; the most recent commit was on 26 October 2026.

A good habit with any mocking library is to fake only what you own and keep fakes close to the test that uses them. When a test needs many configured fakes, that is usually a sign the class under test has too many dependencies.

Features

  1. Unified fakes: No mock versus stub ceremony.
  2. Fluent interface: Context-aware guidance.
  3. Same syntax for setup and assert: Easy to read.
  4. C# and VB.NET: Full compatibility.

Pros

  1. Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
  2. Actively maintained: The repository had commits as recent as 26 October 2026.

Cons

  1. Interface and virtual members: Like other dynamic proxies, cannot fake sealed members.
var shop = A.Fake<ICandyShop>();
A.CallTo(() => shop.GetTopSellingCandy()).Returns(lollipop);
// exercise the system under test
A.CallTo(() => shop.BuyCandy(lollipop)).MustHaveHappened();

Resources:

Pricing

FakeItEasy is free and open source under the MIT licence.

  1. .NET teams wanting a simple, mature mocking library.

Conclusion

FakeItEasy is a clean, long-lived alternative to Moq and NSubstitute.

Its single-syntax design reads well in code review.

On CheckOps, FakeItEasy is filed under the Unit testing stage. Related tools listed here include Moq, NSubstitute, xUnit.net, NUnit, Fluent Assertions and Shouldly. Which one fits best depends mostly on your stack, your team’s size and skills, and whether you prefer to run tools yourself or pay for a managed service. This page reflects the official website, documentation and repository as they stood on 11 November 2026.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with FakeItEasy side by side.