0

我正在尝试设置将调用方法的期望。但是当我在 Method 方法中编写 lambda 表达式时,我得到一个错误,因为我没有传递参数。我不关心参数的实例,我只想知道方法是否被调用。就像 Moq 的“It.IsAny”

我该怎么办?

C# 代码:unitMock.Expects.One.Method(m=>m.Convert());

4

2 回答 2

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);
于 2014-08-27T14:45:16.330 回答
0

我不知道这个问题是否仍然存在。在任何情况下,尝试将任何参数提供给 Convert 方法(只是存根)并添加 WithAnyArguments。

unitMock.Expects.One.Method(m=>m.Convert("")).WithAnyArguments();
于 2013-07-08T06:24:15.790 回答