Moq 4.21.0

The most popular and friendly mocking library for .NET

  var mock = new Mock<ILoveThisLibrary>();

  // WOW! No record/replay weirdness?! :)
  mock.Setup(library => library.DownloadExists("2.0.0.0"))
      .Returns(true);

  // Use the Object property on the mock to get a reference to the object
  // implementing ILoveThisLibrary, and then exercise it by calling
  // methods on it
  ILoveThisLibrary lovable = mock.Object;
  bool download = lovable.DownloadExists("2.0.0.0");

  // Verify that the given method was indeed called with the expected value at most once
  mock.Verify(library => library.DownloadExists("2.0.0.0"), Times.AtMostOnce());

Moq also is the first and only library so far to provide Linq to Mocks, so that the same behavior above can be achieved much more succinctly:

  ILoveThisLibrary lovable = Mock.Of<ILoveThisLibrary>(l =>
    l.DownloadExists("2.0.0.0") == true);

  // Exercise the instance returned by Mock.Of by calling methods on it...
  bool download = lovable.DownloadExists("2.0.0.0");

  // Simply assert the returned state:
  Assert.True(download);
  
  // If you want to go beyond state testing and want to 
  // verify the mock interaction instead...
  Mock.Get(lovable).Verify(library => library.DownloadExists("2.0.0.0"));

You can think of Linq to Mocks as "from the universe of mocks, give me one whose behavior matches this expression".

Check out the Quickstart for more examples!

Sponsors

Clarius Org MFB Technologies, Inc. SandRock DRIVE.NET, Inc. Keith Pickford Thomas Bolon Reuben Swartz Jacob Foshee Eric Johnson Jonathan Ken Bonny Simon Cropp agileworks-eu Zheyu Shen Vezel ChilliCream 4OTC domischell Adrian Alonso torutek Ryan McCaffery Seika Logiciel Andrew Grant eska-gmbh Geodata AS

Sponsor this project

Learn more about GitHub Sponsors

No packages depend on Moq.

https://github.com/moq/moq/blob/main/changelog.md

.NET Framework 4.6.2

.NET Standard 2.0

.NET Standard 2.1

.NET 6.0

Version Downloads Last updated
4.21.0 1 30.09.2026
4.20.72 16 19.03.2025
4.20.70 16 19.03.2025
4.20.69 16 19.03.2025
4.18.4 17 24.11.2024
4.18.3 16 19.03.2025
4.18.2 16 19.03.2025
4.18.1 16 19.03.2025
4.18.0 16 19.03.2025
4.17.2 16 19.03.2025
4.17.1 16 19.03.2025
4.16.1 18 19.03.2025
4.16.0 16 19.03.2025
4.15.2 16 19.03.2025
4.15.1 16 19.03.2025
4.14.7 14 19.03.2025
4.14.6 16 19.03.2025
4.14.5 16 19.03.2025
4.14.4 15 19.03.2025
4.14.3 16 19.03.2025
4.14.2 16 19.03.2025
4.14.1 15 19.03.2025
4.14.0 16 19.03.2025
4.13.1 16 19.03.2025
4.13.0 16 19.03.2025
4.12.0 16 19.03.2025
4.11.0 16 19.03.2025
4.11.0-rc2 16 19.03.2025
4.11.0-rc1 16 19.03.2025
4.10.1 15 19.03.2025
4.10.0 16 19.03.2025
4.9.0 15 19.03.2025
4.8.3 16 19.03.2025
4.8.2 16 19.03.2025
4.8.1 16 19.03.2025
4.8.0 16 19.03.2025
4.8.0-rc1 16 19.03.2025
4.7.145 16 19.03.2025
4.7.142 16 19.03.2025
4.7.137 17 19.03.2025
4.7.127 16 19.03.2025
4.7.99 16 19.03.2025
4.7.63 16 19.03.2025
4.7.58 16 19.03.2025
4.7.49 16 19.03.2025
4.7.46 16 19.03.2025
4.7.25 16 19.03.2025
4.7.12 16 19.03.2025
4.7.11 16 19.03.2025
4.7.10 17 19.03.2025
4.7.9 16 19.03.2025
4.7.8 16 19.03.2025
4.7.7 16 19.03.2025
4.7.1 16 19.03.2025
4.7.0 16 19.03.2025
4.6.62-alpha 16 19.03.2025
4.6.39-alpha 16 19.03.2025
4.6.38-alpha 15 19.03.2025
4.6.36-alpha 16 19.03.2025
4.6.25-alpha 16 19.03.2025
4.5.30 16 19.03.2025
4.5.29 16 19.03.2025
4.5.28 16 19.03.2025
4.5.23 16 19.03.2025
4.5.22 16 19.03.2025
4.5.21 16 19.03.2025
4.5.20 16 19.03.2025
4.5.19 16 19.03.2025
4.5.18 16 19.03.2025
4.5.16 16 19.03.2025
4.5.13 16 19.03.2025
4.5.10 16 19.03.2025
4.5.9 16 19.03.2025
4.5.9-alpha 14 19.03.2025
4.5.8 16 19.03.2025
4.5.7 16 19.03.2025
4.5.7-alpha 14 19.03.2025
4.5.6-alpha 15 19.03.2025
4.5.3 16 19.03.2025
4.5.0 16 19.03.2025
4.2.1510.2205 15 19.03.2025
4.2.1507.118 14 19.03.2025
4.2.1506.2515 15 19.03.2025
4.2.1506.2016 15 19.03.2025
4.2.1502.911 16 19.03.2025
4.2.1409.1722 16 19.03.2025
4.2.1408.717 16 19.03.2025
4.2.1408.619 16 19.03.2025
4.2.1402.2112 16 19.03.2025
4.2.1312.1622 16 19.03.2025
4.2.1312.1621 16 19.03.2025
4.2.1312.1615 16 19.03.2025
4.2.1312.1416 16 19.03.2025
4.2.1312.1323 14 19.03.2025
4.2.1312.1319 16 19.03.2025
4.1.1311.615 16 19.03.2025
4.1.1309.1617 15 19.03.2025
4.1.1309.919 16 19.03.2025
4.1.1309.801 16 19.03.2025
4.1.1309.800 16 19.03.2025
4.1.1308.2321 16 19.03.2025
4.1.1308.2316 16 19.03.2025
4.1.1308.2120 16 19.03.2025
4.0.10827 13 19.03.2025
3.1.416.3 14 19.03.2025