我正在尝试设置调用方法的期望。但是当我在Method方法中编写lambda expresion时,我得到一个错误,因为我没有传递参数。我不关心参数的实例,我只想知道方法是否被调用。就像Moq的“It.IsAny”
我该怎么办?
C#代码:unitMock.Expects.One.Method(m=>m.Convert());
答案 0 :(得分:1)
如果您想要多次调用方法调用:
unitMock.Expects.Exactly (2) .Method (m => m.Convert ());
最后你需要打电话:
_mockFactory.VerifyAllExpectationsHaveBeenMet ();
确保如果您拨打2次而不只是0或1。
如果您想准确确定应该调用方法的数据:
unitMock.Expects.One.MethodWith (m => m.Convert ("5"));
如果你想确定方法应该返回的内容:
unitMock.Expects.One.MethodWith (m => m.Convert ("5")) WillReturn (5);
答案 1 :(得分:0)
我不知道这个问题是否仍然存在。 在任何情况下,尝试向Convert方法(只是存根)提供任何参数并添加WithAnyArguments。
unitMock.Expects.One.Method(m=>m.Convert("")).WithAnyArguments();