我在界面上有一个方法:
void HandleError(MyClasss c, object o, Exception e);
我想用MOQ模拟这个,以及抛出所提供的Exception e。
的任何参数类似的东西:
_mock.Setup(a => a.HandlreError(It.IsAny<MyClass>(), It.IsAny<object>()
, It.IsAny<Exception>())).Throws( [the 'any' exception] )
答案 0 :(得分:5)
您可以使用回调操作,该操作使用传递给模拟对象的参数调用:
_mock
.Setup(a => a.HandlreError(It.IsAny<MyClass>(), It.IsAny<object>(), It.IsAny<Exception>()))
.Callback((MyClass c, object o, Exception e) => { throw e; });