如何验证方法起订量不叫? [英] How to verify that method was NOT called in Moq?

查看:133
本文介绍了如何验证方法起订量不叫?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何验证方法起订量不叫?



是否有类似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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆