MOQ可以模拟一个类

时间:2010-09-20 15:21:22

标签: moq

如果MOQ没有继承像这样的接口的类是合法的:

var mockIActionService = new Mock<IActionService>();
var mockValidAgeRule = new Mock<ValidAgeRule>(mockIActionService.Object);

我将IService注入ValidAgeRule,这只是一个简单的类,有一个名为“Excute”的方法。我的问题是如何验证已被调用。每当我尝试:

 mockValidAgeRule.Verify(x => x.Execute(app)); //Where App is a valid object

有谁知道怎么做?

1 个答案:

答案 0 :(得分:20)

我相信您需要将您的Execute方法设为虚拟。

我的理解是,在这种情况下,Moq会创建类的子类,并且需要覆盖您的方法以跟踪它是否已被调用。