我正在尝试设置将调用方法的期望。但是当我在 Method 方法中编写 lambda 表达式时,我得到一个错误,因为我没有传递参数。我不关心参数的实例,我只想知道方法是否被调用。就像 Moq 的“It.IsAny”
我该怎么办?
C# 代码:unitMock.Expects.One.Method(m=>m.Convert());
我正在尝试设置将调用方法的期望。但是当我在 Method 方法中编写 lambda 表达式时,我得到一个错误,因为我没有传递参数。我不关心参数的实例,我只想知道方法是否被调用。就像 Moq 的“It.IsAny”
我该怎么办?
C# 代码:unitMock.Expects.One.Method(m=>m.Convert());
如果您想准确地多次调用该方法:
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);
我不知道这个问题是否仍然存在。在任何情况下,尝试将任何参数提供给 Convert 方法(只是存根)并添加 WithAnyArguments。
unitMock.Expects.One.Method(m=>m.Convert("")).WithAnyArguments();