如果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
有谁知道怎么做?
答案 0 :(得分:20)
我相信您需要将您的Execute方法设为虚拟。
我的理解是,在这种情况下,Moq会创建类的子类,并且需要覆盖您的方法以跟踪它是否已被调用。