12. atLeastOnce、atLeast、atMost、never、only、verifyNoMoreInteractions、verifyZeroInteractions
package lesson12; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import java.util.List; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.*; @RunWith(MockitoJUnitRunner.class) public class VerifyModelTest { @Mock private List<String> list; @Test public void test() { list.add("test"); verify(list).add("test"); verify(list, atLeastOnce()).add("test"); verify(list, atLeast(1)).add("test"); verify(list, atMost(2)).add("test"); verify(list, never()).add("test111"); assertThat(0, equalTo(list.size())); } /** * only()表示mock出来的list只能调用.add("test")方法 && 只能调用一次 && 不能调用其他方法 */ @Test public void test2() { list.add("test"); // list.add("test"); // open will fail // list.clear(); // open will fail verify(list, only()).add("test"); } @Test public void test3() { list.add("test"); verify(list).add("test"); // list.clear(); // open will fail /** * 代表上一次verify之后再无与list的交互 */ verifyNoMoreInteractions(list); } @Test public void test4() { /** * 自始至终都与list无任何交互 */ verifyZeroInteractions(list); } }