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

Showing the top 20 packages that depend on Moq.

Packages Downloads
Hobud.Tools.Crypto
Package Description
755
Hobud.Tools.Crypto
Package Description
700
Hobud.Tools.Crypto
Package Description
324
Hobud.Tools.Crypto
Package Description
303
Hobud.Tools.Crypto
Package Description
100
Hobud.Tools.Crypto
Package Description
42
Hobud.Tools.Crypto
Package Description
38
Hobud.Tools.Crypto
Package Description
31
Hobud.Tools.Crypto
Package Description
16
Hobud.Tools.Crypto
Package Description
15
Hobud.Tools.Crypto
Package Description
13
Hobud.Tools.Crypto
Package Description
12

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 10/16/2026
4.20.72 1,457 09/19/2024
4.20.70 189 08/06/2024
4.20.69 17 02/20/2025
4.18.4 17 02/20/2025
4.18.3 17 02/20/2025
4.18.2 15 02/20/2025
4.18.1 17 02/20/2025
4.18.0 17 02/20/2025
4.17.2 14 02/20/2025
4.17.1 16 02/20/2025
4.16.1 17 02/20/2025
4.16.0 16 02/20/2025
4.15.2 17 02/20/2025
4.15.1 17 02/20/2025
4.14.7 17 02/20/2025
4.14.6 17 02/20/2025
4.14.5 17 02/20/2025
4.14.4 17 02/20/2025
4.14.3 17 02/20/2025
4.14.2 16 02/20/2025
4.14.1 16 02/20/2025
4.14.0 17 02/20/2025
4.13.1 17 02/20/2025
4.13.0 16 02/20/2025
4.12.0 16 02/20/2025
4.11.0 17 02/20/2025
4.11.0-rc2 17 02/20/2025
4.11.0-rc1 14 02/20/2025
4.10.1 342 08/06/2024
4.10.0 17 02/20/2025
4.9.0 16 02/20/2025
4.8.3 17 02/20/2025
4.8.2 17 02/20/2025
4.8.1 16 02/20/2025
4.8.0 17 02/20/2025
4.8.0-rc1 17 02/20/2025
4.7.145 17 02/20/2025
4.7.142 17 02/20/2025
4.7.137 16 02/20/2025
4.7.127 17 02/20/2025
4.7.99 17 02/20/2025
4.7.63 16 02/20/2025
4.7.58 17 02/20/2025
4.7.49 17 02/20/2025
4.7.46 17 02/20/2025
4.7.25 17 02/20/2025
4.7.12 17 02/20/2025
4.7.11 17 02/20/2025
4.7.10 17 02/20/2025
4.7.9 17 02/20/2025
4.7.8 17 02/20/2025
4.7.7 16 02/20/2025
4.7.1 17 02/20/2025
4.7.0 17 02/20/2025
4.6.62-alpha 17 02/20/2025
4.6.39-alpha 17 02/20/2025
4.6.38-alpha 17 02/20/2025
4.6.36-alpha 17 02/20/2025
4.6.25-alpha 16 02/20/2025
4.5.30 16 02/20/2025
4.5.29 17 02/20/2025
4.5.28 17 02/20/2025
4.5.23 16 02/20/2025
4.5.22 16 02/20/2025
4.5.21 17 02/20/2025
4.5.20 16 02/20/2025
4.5.19 16 02/20/2025
4.5.18 17 02/20/2025
4.5.16 16 02/20/2025
4.5.13 17 02/20/2025
4.5.10 15 02/20/2025
4.5.9 17 02/20/2025
4.5.9-alpha 16 02/20/2025
4.5.8 17 02/20/2025
4.5.7 17 02/20/2025
4.5.7-alpha 16 02/20/2025
4.5.6-alpha 17 02/20/2025
4.5.3 17 02/20/2025
4.5.0 17 02/20/2025
4.2.1510.2205 14 02/20/2025
4.2.1507.118 16 02/20/2025
4.2.1506.2515 15 02/20/2025
4.2.1506.2016 17 02/20/2025
4.2.1502.911 17 02/20/2025
4.2.1409.1722 17 02/20/2025
4.2.1408.717 16 02/20/2025
4.2.1408.619 17 02/20/2025
4.2.1402.2112 18 02/20/2025
4.2.1312.1622 18 02/20/2025
4.2.1312.1621 16 02/20/2025
4.2.1312.1615 16 02/20/2025
4.2.1312.1416 17 02/20/2025
4.2.1312.1323 16 02/20/2025
4.2.1312.1319 17 02/20/2025
4.1.1311.615 17 02/20/2025
4.1.1309.1617 17 02/20/2025
4.1.1309.919 17 02/20/2025
4.1.1309.801 16 02/20/2025
4.1.1309.800 16 02/20/2025
4.1.1308.2321 17 02/20/2025
4.1.1308.2316 17 02/20/2025
4.1.1308.2120 17 02/20/2025
4.0.10827 17 02/20/2025
3.1.416.3 13 02/20/2025