我正在尝试使用Moq来测试一个相当复杂的类,并且遇到了问题。
我正在尝试验证方法是否未被调用,并且通常通过设置MockBehavior.Strict这很简单,但是这里该类有自己的错误报告机制,因此它吞下了Moq抛出的异常。
。验证测试结束时的所有方法也都很好,这真的很奇怪。这是Moq中的一个错误,是否有任何变通方法?
我也试过在这个方法上设置回调并在其中执行Assert.Fail,但是当它被吞下时,测试框架(VS 2008内置测试)也没有得到通知。 。
我正在使用Moq 2.6.1014.1。 (没时间升级到moq 3)
答案 0 :(得分:12)
嗯,这很尴尬,我已经设法解决了。
在3.0中你可以这样做:
mFMXmlC.Verify(f=>f.Put_Queue_Response(It.IsAny<Uri>(),
It.IsAny<string>(),
It.IsAny<string>(),
It.IsAny<object>()), Times.Never());
仍然不明白为什么VerifyAll
不起作用,但这似乎符合法案。我会留下这个问题,万一其他人正在寻找类似的东西。