2012-09-14 4 views
1

Foo 개체에서 bar()을 호출하면 해당 Waldo 개체에서 baz() 개체가 처음으로 호출됩니다. 즉,Mockito : 특정 지점에서 메서드가 호출되는지 확인

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와 올바르게 확인할 수 있습니까?

답변

4
Foo foo = new Foo(); 
Waldo waldo = mock(Waldo.class); 
foo.setWaldo(waldo); 
foo.bar(); 
verify(waldo).baz(); 
foo.bar(); 
verifyNoMoreInteractions(waldo); 
관련 문제