moq - 如果类吞下异常,则尚未调用如何验证方法

Rob*_*anc 8 c# unit-testing moq

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

我试图验证一个方法不会被调用,通常这可以通过设置MockBehavior.Strict来做到,但是这里该类有自己的错误报告机制,因此它吞下了Moq抛出的异常.

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

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

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

Rob*_*anc 12

嗯,这很尴尬,我设法解决了.

在3.0中你可以这样做:

mFMXmlC.Verify(f=>f.Put_Queue_Response(It.IsAny<Uri>(), 
                                       It.IsAny<string>(), 
                                       It.IsAny<string>(), 
                                       It.IsAny<object>()), Times.Never());
Run Code Online (Sandbox Code Playgroud)

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