Moq 4.20.70

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. Daniel Gnägi Ashley Medway Keith Pickford Thomas Bolon Kori Francis Toni Wenzel Giorgi Dalakishvili Mike James Dan Siegel Reuben Swartz Jacob Foshee Eric Johnson Norman Mackay Certify The Web Rich Lee Ix Technologies B.V. David JENNI Jonathan Oleg Kyrylchuk Mariusz Kogut Charley Wu Jakob Tikjøb Andersen Seann Alexander Tino Hager Mark Seemann Angelo Belchior Blauhaus Technology (Pty) Ltd Ken Bonny Simon Cropp agileworks-eu Zheyu Shen

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.
20
AWSSDK.SecretsManager.Caching
The AWS Secrets Manager .NET caching client enables in-process caching of secrets for C# applications.
18

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