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);Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
Pug
Whitespace-sensitive template engine compiling to HTML for Node.js with Haml-inspired syntax.
Playwright
Cross-browser automation framework with built-in test runner.
Video Speed Controller
Chrome extension adding speed controls and keyboard shortcuts to HTML5 videos on any website.
PowerShell
Cross-platform shell and scripting language for system administration with structured data support.
JSON for Modern C++
Header-only C++ library for JSON with STL-like containers.