如何测试是否使用nmock3调用方法?

时间:2013-05-30 13:22:09

标签: unit-testing nmock expectations

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

我该怎么办?

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

2 个答案:

答案 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();