2009-12-30 92 views
0

我正在使用MoQ来测试我拥有的一些控制器。我无法设定预期。这是我的代码:在MoQ上设置预期

 var rep = new Mock<IUserRepository>(); 
     rep.Setup(r => r.Save()); 

的问题是,我Save()方法希望我可以在预期没有设置,因为它的一个实例将通过控制器来创建一个User对象。是否可以在不传递特定参数的情况下设置期望值,并且只需检查方法是否被调用,而不管传递了什么参数?

回答

4

你能解释一下你的意思吗?“Save()方法需要用户对象”?它期望它作为参数吗?如果是这样,你可以定义的设置:

rep.Setup(r => r.Save(It.IsAny<SomeObjectType>())

而且只要它的类型是SomeObjectType它会采取任何对象。

如果你的意思是别的,那么请展示预期行为的代码示例。

+0

这是正确的。我只是自己找到了它。我试着用It.IsAny (),而我的方法预计用户参数。我用It.IsAny ()和它的工作。 非常感谢! – tucaz 2009-12-30 19:23:29