如何验证方法起订量不叫? [英] How to verify that method was NOT called in Moq?
本文介绍了如何验证方法起订量不叫?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何验证方法起订量不叫?
是否有类似AssertWasNotCalled
更新:从3.0版开始,一种新的语法可以用
mock.Verify(富=> foo.Execute(平安),Times.Never());
解决方案
更新:从版本3,检查更新,以高于或低于丹恩的回答这个问题。
要么,让你的模拟严格,所以如果你要求你做的不是方法将失败有一个期望
新莫克和LT; IMoq>(MockBehavior.Strict)
或者,如果你希望你的模拟是松散的,使用.Throws(例外)
VAR M =新的模拟< IMoq>(MockBehavior.Loose);
m.Expect。(A => a.moo())抛出(新的异常()不应被称为);
How do I verify that method was NOT called in Moq?
Does it have something like AssertWasNotCalled?
UPDATE: Starting from Version 3.0, a new syntax can be used:
mock.Verify(foo => foo.Execute("ping"), Times.Never());
解决方案
UPDATE: Since version 3, check the update to the question above or Dann's answer below.
Either, make your mock strict so it will fail if you call a method for which you don't have an expect
new Mock<IMoq>(MockBehavior.Strict)
Or, if you want your mock to be loose, use the .Throws( Exception )
var m = new Mock<IMoq>(MockBehavior.Loose);
m.Expect(a => a.moo()).Throws(new Exception("Shouldn't be called."));
这篇关于如何验证方法起订量不叫?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文