如何在" Will"中使用NMock3方法参数?行动

时间:2017-01-08 03:46:08

标签: c# nmock

我试图模拟一个将异常作为参数的方法,并且在某些情况下可能会抛出该异常。有没有办法模仿这个模拟方法呢?

我正在想出类似下面的语法。

myMock.Expects.One.Method(mo => mo.ProcessException(null)).With(<capture exception>).Will(new ThrowAction(<captured exception>));

有办法做到这一点吗?在这种情况下,我实际上知道我期待什么类型的异常,所以理论上我可以重建它,但抛出被调用的异常似乎更好。

1 个答案:

答案 0 :(得分:0)

您需要使用Collect.MethodArgument

mockPostalCodeChecker.Expects.One.Method(m => m.ProcessException(null)).With(<what you want>).Will(Collect.MethodArgument<Exception>(0, delegate(Exception excep) { throw excep; }));