2010-09-20 76 views
13

是合法的起订量,不继承,像这样的接口的类:灿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

我想你忘记了包括当你尝试调用mockValidAgeRule.Verify()时会发生什么。即使您确定执行已被调用,我仍然假设测试失败。 – 2010-09-20 15:48:57

回答

20

我相信你需要让你的Execute方法变为虚拟。

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

+0

雅我注意到它虚拟 – 2010-09-20 16:02:34