Moq
Moq 是 .NET 平台下最流行和友好的 mocking 框架。它基于 Castle DynamicProxy,使用 Lambda 表达式定义期望,支持接口、虚拟类、方法、属性、事件。Moq API 简洁、文档丰富、社区活跃,是 .NET 单元测试中 Mock 依赖的事实标准。

项目简介

Moq 是 .NET 平台下最流行和友好的 mocking 框架。它基于 Castle DynamicProxy,使用 Lambda 表达式定义期望,支持接口、虚拟类、方法、属性、事件。Moq API 简洁、文档丰富、社区活跃,是 .NET 单元测试中 Mock 依赖的事实标准。

核心功能

简单易用
  • Mock<T>()创建代理
  • Lambda定义期望
  • Setup/Verify语法
  • 自动实现接口
强大功能
  • 严格/宽松Mock
  • 回调和返回值
  • 参数匹配
  • 序列和顺序验证
生态成熟
  • NuGet广泛使用
  • VS和Rider集成
  • 与xUnit/NUnit配合
  • 活跃维护

使用方法

  1. 通过NuGet安装Moq
  2. 创建Mock<T>对象
  3. Setup配置方法行为
  4. 在测试中Verify验证调用

适用场景

  • 单元测试Mock依赖
  • TDD开发
  • 外部服务隔离测试
  • 接口驱动设计

项目地址

📦 GitHub 仓库:https://github.com/moq/moq4

授权方式:免费 + 开源 (BSD)