C# moq-如果类接受异常,如何验证方法未被调用
我试图使用Moq测试一个相当复杂的类,但遇到了一个问题 我试图验证一个方法是否没有被调用,通常通过设置MockBehavior.Strict很简单,但是在这里,类有自己的错误报告机制,所以它会接受Moq抛出的异常 .VerifyAll方法在测试结束时也通过了罚款,这真的很奇怪。这是Moq中的一个bug,有什么解决方法吗 我也尝试过在这个方法上设置一个回调,并在其中执行Assert.Fail,但是随着它被吞没,测试框架(VS 2008 builtin test)没有得到通知C# moq-如果类接受异常,如何验证方法未被调用,c#,unit-testing,moq,C#,Unit Testing,Moq,我试图使用Moq测试一个相当复杂的类,但遇到了一个问题 我试图验证一个方法是否没有被调用,通常通过设置MockBehavior.Strict很简单,但是在这里,类有自己的错误报告机制,所以它会接受Moq抛出的异常 .VerifyAll方法在测试结束时也通过了罚款,这真的很奇怪。这是Moq中的一个bug,有什么解决方法吗 我也尝试过在这个方法上设置一个回调,并在其中执行Assert.Fail,但是随着它被吞没,测试框架(VS 2008 builtin test)没有得到通知 我使用的是最小起订量2
我使用的是最小起订量2.6.1014.1。(还没来得及升级到最低起订量3)好吧,这太尴尬了,我已经设法解决了 在3.0中,您可以执行以下操作:
mFMXmlC.Verify(f=>f.Put_Queue_Response(It.IsAny<Uri>(),
It.IsAny<string>(),
It.IsAny<string>(),
It.IsAny<object>()), Times.Never());
mFMXmlC.Verify(f=>f.Put\u Queue\u响应(It.IsAny(),
It.IsAny(),
It.IsAny(),
It.IsAny())、Times.Never());
仍然不明白为什么
VerifyAll
不起作用,但这似乎符合要求。我将把这个问题留待讨论,以防其他人正在寻找类似的问题。您可能希望将此信息转发到,以确定这是一个bug还是预期行为。