我试图模拟一个将异常作为参数的方法,并且在某些情况下可能会抛出该异常。有没有办法模仿这个模拟方法呢?
我正在想出类似下面的语法。
myMock.Expects.One.Method(mo => mo.ProcessException(null)).With(<capture exception>).Will(new ThrowAction(<captured exception>));
有办法做到这一点吗?在这种情况下,我实际上知道我期待什么类型的异常,所以理论上我可以重建它,但抛出被调用的异常似乎更好。
答案 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; }));