小编典典

如何验证在 Moq 中没有调用该方法?

all

如何验证未在Moq中调用该方法?

它有类似 AssertWasNotCalled 的东西吗?

更新:从 3.0 版开始,可以使用新语法:

mock.Verify(foo => foo.Execute("ping"), Times.Never());

阅读 109

收藏
2022-03-11

共1个答案

小编典典

更新 :从第 3 版开始,请检查上述问题的更新或以下 Dann 的回答。

要么,让你的模拟严格,这样如果你调用一个你没有期望的方法,它就会失败

new Mock<IMoq>(MockBehavior.Strict)

或者,如果您希望您的模拟是松散的,请使用 .Throws( Exception )

var m = new Mock<IMoq>(MockBehavior.Loose);
m.Expect(a => a.moo()).Throws(new Exception("Shouldn't be called."));
2022-03-11