繁体   English   中英

Mockito:验证在特定点调用方法

[英]Mockito: Verify a method is called at a specific point

假设在Foo对象上调用bar()将仅在第一次调用其Waldo对象上的baz() 换一种说法,

Foo foo = new Foo();
foo.setWaldo(new Waldo());
foo.bar(); // This calls baz() on the Waldo.
foo.bar(); // This should not call baz() on the Waldo.

这就是我目前验证baz()上的调用的方法。

Foo foo = new Foo();
Waldo waldo = mock(Waldo.class);
foo.setWaldo(waldo);
foo.bar();
foo.bar();
verify(waldo).baz();

这个问题是它不能验证何时调用baz() 即使在第二次foo.bar()时调用baz()这也会获得通过。

如何用Mockito正确验证这一点?

Foo foo = new Foo();
Waldo waldo = mock(Waldo.class);
foo.setWaldo(waldo);
foo.bar();
verify(waldo).baz();
foo.bar();
verifyNoMoreInteractions(waldo);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM