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.

.NET Framework 4.6.2

.NET Standard 2.0

.NET Standard 2.1

.NET 6.0

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