moq
6,409
Stars
0
Forks
0
Watchers
0
Open Issues
未知
许可证
C#
语言
创建时间
最近更新
项目能做什么
流行且友好的 .NET 模拟(Mocking)测试框架。
来源:基于仓库元数据
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# moq
[](https://pkg.kzu.io/index.json)
[](https://github.com/moq/moq/actions?query=branch%3Amain+workflow%3Abuild+)
[](https://github.com/moq/moq/blob/master/LICENSE)
[](https://discord.gg/8PtpGdu)
[](https://github.com/moq/moq)
> [!IMPORTANT]
> This branch now contains the *upcoming* version of Moq (v5).
> Source and license for the current stable Moq v4.x are at the [v4 branch](https://github.com/devlooped/moq/tree/v4)
CI package feed: https://pkg.kzu.app/index.json
<!-- #content -->
The most popular and friendly mocking framework for .NET
## Usage
```csharp
using Moq;
using static Moq.Syntax;
var calc = new Mock<ICalculator>(); // or Mock.Get(Mock.Of<ICalculator>())
// Typed setups are generated for every mocked type's members (C# 14+).
calc.Add(2, 3).Returns(5);
calc.Add(Any<int>(), Any<int>()).Returns((x, y) => x + y);
calc.Mode.Returns(CalculatorMode.Scientific);
calc.TurnOn().Throws(new InvalidOperationException());
calc.RaiseTurnedOn();
// Any language version, and members that collide with the mock's own (i.e. Object, CallBase),
// or recursive setups: invoke the mocked object within a setup lambda.
Setup(() => calc.Object.Memory.Recall()).Returns(42);
// ref/out parameters: typed setups receive them in the handler...
int x = Any<int>(), y = Any<int>();
calc.TryAdd(ref x, ref y, out _).Returns((ref a, ref b, out sum) => { sum = a + b; return true; });
// ...or use a custom delegate, which a code fix generates for you from SetupRef(parser.Object.TryParse).
SetupRef<TryParse>(parser.Object.TryParse).Returns((string input, out DateTimeOffset date) => DateTimeOffset.TryParse(input, out date));
// Verification
Verify.Called(calc).Add(2, 3).Once();
Verify.NotCalled(calc).TurnOn();
Verify.Called(() => calc.Object.Add(2, 3), times: 1);
// Additional interfaces
var disposable = new Mock<ICalculator, IDisposable>().As<IDisposable>();
```
`Mock<T>` and `Mock.Of<T>` are compiled into your test project as source, so you can customize
how every mock is created with a partial class:
```csharp
namespace Moq;
partial class Mock<T>
{
partial void OnCreated() => this.Sdk.Name = typeof(T).Name;
}
```
The lower-level runtime (invocations, setups, state and behaviors) is available from any mock via
`mock.Sdk`. See [Moq SDK](docs/MoqSdk.md).
<!-- #content -->
## Testing built packages locally
You can either build from command line or explicitly Pack (from the context menu) the *Moq.Package* project.
Packages are generated in the `bin` folder in the repository root. To test these packages you can just add a package source
pointing to it.
阅读完整原文
商业机会分析 规则生成(AI 未配置)
综合评分 42.5 分。该项目在“个人可实施性”维度得 37 分,“付费可能性”维度得 20.0 分,差异化空间 70.0 分(评分依据见评分卡)。
面向细分需求的二次开发产品
| 产品构想 | 基于 moq 的核心能力,聚焦一个更窄的场景(如某平台、某行业)做差异化。 |
| 目标用户 | 该细分场景用户 |
| 难度/周期 | 中 · 2~6 周 |
| 收费模式 | 买断制 / 订阅制 / 广告 |
| 竞争风险 | 细分需求规模需验证 |
| 依据 | AI 推测:基于项目主题标签的判断 |
以上为规则引擎基于仓库公开数据生成的参考结论,包含推测成分,不构成投资或创业承诺;配置 AI 后可获得更深入的分析。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 ,最近推送 ,发布过 44 个 Release |
| 社区活跃 | Star 6,409 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
快速开始(以仓库 README 为准)
git clone https://github.com/devlooped/moq.git cd moq # 请阅读仓库 README 获取确切安装步骤(依赖、配置、启动命令)
术语说明:Docker=应用容器(把程序和依赖打包运行);API Key=调用外部服务的密钥;Git Clone=把仓库代码下载到本地。常见错误:API Key 未配置 / 端口占用 / 数据库连接失败,多数项目在 README 的 Troubleshooting 章节有说明。