【发布时间】:2013-05-01 17:29:23
【问题描述】:
我有一个使用Mock.Of 模拟的具体类,但它没有默认构造函数。有没有办法让它工作而不必接口这个或使用new Mock?前者在这个时候是矫枉过正,而后者更难看。我将尝试创建一个返回new Mock().Object 的扩展方法,但我认为Mock.Get 不会在那种情况下工作
【问题讨论】:
-
我看过了,但它没有解决我的问题
我有一个使用Mock.Of 模拟的具体类,但它没有默认构造函数。有没有办法让它工作而不必接口这个或使用new Mock?前者在这个时候是矫枉过正,而后者更难看。我将尝试创建一个返回new Mock().Object 的扩展方法,但我认为Mock.Get 不会在那种情况下工作
【问题讨论】:
事实证明,Moq 确实跟踪正常创建的对象(使用new 并传回Object),以便它们可以在Mock.Get 中使用。所以,这对我有用。如果有的话,我仍然会采用内置方式:
public static T MockOf<T>(params Object[] args) where T : class
{
return new Mock<T>(args).Object;
}
【讨论】: