簡體   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