Moq 4.20.72

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 Kirill Osenkov MFB Technologies, Inc. Stephen Shaw Torutek DRIVE.NET, Inc. Ashley Medway Keith Pickford Thomas Bolon Kori Francis Toni Wenzel Giorgi Dalakishvili Uno Platform Dan Siegel Reuben Swartz Jacob Foshee Eric Johnson Ix Technologies B.V. David JENNI Jonathan Oleg Kyrylchuk Charley Wu Jakob Tikjøb Andersen Seann Alexander Tino Hager Mark Seemann Ken Bonny Simon Cropp agileworks-eu sorahex Zheyu Shen Vezel ChilliCream 4OTC Vincent Limo Brooke Hamilton

Sponsor this project  

Learn more about GitHub Sponsors

Showing the top 20 packages that depend on Moq.

Packages Downloads
AWSSDK.SecretsManager.Caching
The AWS Secrets Manager .NET caching client enables in-process caching of secrets for C# applications.
16
AWSSDK.SecretsManager.Caching
The AWS Secrets Manager .NET caching client enables in-process caching of secrets for C# applications.
15

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