moq – 如果类吞下exception,则尚未调用如何validation方法

我试图使用Moq测试一个相当复杂的类,并遇到了问题。

我试图validation一个方法没有被调用,通常这通过设置MockBehavior.Strict很容易,但是这里该类有自己的错误报告机制,因此它吞下了Moq抛出的exception。

.Verify测试结束时的所有方法也都很好,这真的很奇怪。 这是Moq中的一个错误,是否有任何变通方法?

我也尝试在这个方法上设置回调并在其中执行Assert.Fail,但是当它被吞下时,测试框架(VS 2008内置测试)也没有得到通知…

我正在使用Moq 2.6.1014.1。 (没时间升级到moq 3)

嗯,这很尴尬,我已经设法解决了。

在3.0中你可以这样做:

mFMXmlC.Verify(f=>f.Put_Queue_Response(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny()), Times.Never()); 

仍然不明白为什么VerifyAll不起作用,但这似乎适合该法案。 我会留下这个问题,万一其他人正在寻找类似的东西。