moq - 如果验证方法没有被调用,如果类吞下异常
问题描述:
我想用Moq来测试一个相当复杂的类,并且遇到问题。moq - 如果验证方法没有被调用,如果类吞下异常
我想验证一个方法不会被调用,通常这很容易通过设置MockBehavior.Strict来完成,但是在这里但是这个类有它自己的错误报告机制,所以它吞下了由Moq引发的异常。
.VerifyAll方法在测试结束时也通过很好,这真的很奇怪。这是Moq中的一个错误,是否有任何解决方法?
我也试着在这个方法上设置一个回调函数,并且在它内部做Assert.Fail,但是当它也被吞下时,测试框架(VS 2008内置测试)没有得到它的通知。 ..
我使用Moq 2.6.1014.1。 (没有时间升级到moq 3呢)
答
好吧,这是令人尴尬的,我设法解决它。
在3.0,你可以这样做:
mFMXmlC.Verify(f=>f.Put_Queue_Response(It.IsAny<Uri>(),
It.IsAny<string>(),
It.IsAny<string>(),
It.IsAny<object>()), Times.Never());
还是不明白为什么VerifyAll
没有工作,但是这似乎无论如何,以适应该法案。我会留下这个问题,以防别人正在寻找类似的东西。
您可能想要在http://groups.google.com/group/moqdisc?pli=1上转发此信息,以确定它是否是错误或预期行为。 – TrueWill 2009-09-18 17:28:39