Moq: Mocking library for .NET using LINQ
Mock .NET objects using lambda expressions and LINQ.
Learn more about moq
Moq is a mocking library built for .NET that leverages LINQ expression trees and lambda expressions as its core mechanism for defining mock behavior. The library provides two primary APIs: a traditional Setup/Verify pattern and a LINQ-based Mock.Of approach that allows inline mock configuration. It generates mock implementations at runtime without requiring record/replay workflows or proxy generation frameworks. Moq is commonly used in unit testing to isolate dependencies and verify method interactions.
LINQ-Based Mock Configuration
Define mock behavior using lambda expressions and LINQ syntax directly in test code. Eliminates separate configuration steps by embedding setup and verification inline with test logic.
Setup/Verify Pattern
Configure expectations before or after method calls without record/replay workflows. Simplifies test structure by decoupling mock definition from execution order.
Runtime Mock Generation
Creates mock implementations at runtime without code generation or separate files. Define mock behavior inline with tests using fluent API, keeping test logic colocated and readable.
using Moq;
using Xunit;
var mockRepository = new Mock<IUserRepository>();
mockRepository.Setup(repo => repo.GetUserById(42))
.Returns(new User { Id = 42, Name = "John Doe" });
var user = mockRepository.Object.GetUserById(42);
Assert.Equal("John Doe", user.Name);Maintenance release removing an unused internal attribute; no functional changes or breaking updates.
- –Release notes do not specify any breaking changes, new requirements, or migration steps.
- –Internal cleanup only; no action required for consumers upgrading from v4.20.71.
Maintenance release with license metadata update and test fixes; no breaking changes or new features.
- –Update License.txt to SPDX identifier for automatic tooling recognition.
- –Add Verify overload and fix semantic test error in MatchersFixture; no API impact.
Maintenance release with performance improvements for interface mocking and privacy compliance fixes; no breaking changes or new requirements.
- –Expect faster interface mock creation due to cached GetInterfaceMap lookups.
- –GDPR compliance restored; review telemetry settings if privacy policies apply to your project.
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
node-gyp
Compiles native C/C++ addons for Node.js.
json
Header-only C++ library for JSON with STL-like containers.
PyMuPDF
Python bindings for MuPDF document processing library.
speedtest
Measure bandwidth, latency, and packet loss via Cloudflare's edge network.
winget-cli
Multi-interface Windows package manager for Store and community repositories.