忽略 Mockito 中的方法调用
使用 Mockito,是否可以忽略对模拟的方法调用?
例如,对于使用 mock(MyRugger.class)
创建的模拟 rugger
:
class Pepe {
public void runner() {
rugger.doIt();
rugger.flushIt();
rugger.boilIt();
}
}
我只需要测试 runner()
但避免使用方法 flushIt ()
。
With Mockito, is it possible to ignore a method call to a mock?
E.g. for the mock rugger
created with mock(MyRugger.class)
:
class Pepe {
public void runner() {
rugger.doIt();
rugger.flushIt();
rugger.boilIt();
}
}
I need only test runner()
but avoid the method flushIt()
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
要在 Mockito 中重置模拟,只需调用
reset
就可以了。请注意上述链接和 JavaDoc for
reset
指出它可能代表了糟糕的设计。通常应该避免这种情况,但有时您只是需要这样做。下面是一个关于如何使用它的示例,不是何时使用它的一个很好的例子。
To reset a mock in Mockito, simply call
reset
on it. Note the very real concern mentioned in the above link and the JavaDoc forreset
stating that it may represent bad design.This should generally be avoided, but there are times when you simply need to do this. The below is an example on how to use it, not a good example of when to use it.
Mockito 很好,除非您要求,否则不会验证呼叫。因此,如果您不想验证
flush()
,只需验证您关心的方法:如果您想验证
flush()
未被调用,请使用:Mockito is nice and will not verify calls unless you ask it to. So if you don't want to verify
flush()
just verify the methods you care about:If you want to verify that
flush()
was NOT called, use:使用ignoreStub方法。请参阅此处的文档:
http:// static.javadoc.io/org.mockito/mockito-core/2.13.0/org/mockito/Mockito.html
Use ignoreStub method. See documentation here:
http://static.javadoc.io/org.mockito/mockito-core/2.13.0/org/mockito/Mockito.html