如何在 "Will" 操作中使用 NMock3 方法参数

How can I use an NMock3 Method Parameter in a "Will" Action

我正在尝试模拟一个将异常作为参数的方法,并且在某些情况下可能会抛出该异常。有没有办法模拟这个,使得模拟方法做到这一点?

我正在计算类似下面的语法。

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

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

您需要使用Collect.MethodArgument

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