You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过System.Type变量创建Moq Mock?(Rhino迁移场景)

如何通过System.Type变量创建Moq的Mock?

当然可以,Moq提供了非泛型的API来实现通过System.Type变量创建Mock,无需依赖泛型参数,完美适配你现有基于类型变量的代码逻辑。

方法1:直接实例化非泛型Mock类

通过Mock的非泛型构造函数传入目标类型,再通过Object属性获取Mock实例:

var targetType = typeof(/* 你的目标类型 */);
var mock = new Mock(targetType);
var stubInstance = mock.Object;

方法2:使用Mock.Of的非泛型重载

如果不需要操作Mock对象本身,只想直接获取Mock实例,可使用此方式:

var targetType = typeof(/* 你的目标类型 */);
var stubInstance = Mock.Of(targetType);

配置Mock行为

后续配置方法返回值、验证调用等操作,可结合反射或非泛型Setup方法实现,和泛型版本逻辑一致:

// 示例:配置指定方法的返回值
var methodInfo = targetType.GetMethod("YourMethodName");
mock.Setup(methodInfo).Returns(yourExpectedReturnValue);

内容的提问来源于stack exchange,提问作者rominator007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 13:04:49