Mockito 三种实现
1.@RunWith()+@Mock注解实现
@RunWith(MockitoJUnitRunner.class)
public class AccountServiceRunwithTest {
@Mock
private AccountService accountService;
2. @Befor+Mockito.mock
private AccountService accountService;
private List<Integer> mockList;
@Before
public void before() {
accountService = mock(AccountService.class);
mockList = mock(List.class);
}
3.@RunWith + @Rule
@RunWith(JUnit4.class)
public class AccountServiceRulesTest {
@Rule
public MockitoRule mockitoRule = MockitoJUnit.rule();
@InjectMocks和@Mock的关系
@InjectMocks:创建类的一个实例,这个实例就是需要测试的实例
@Mock:创建的模拟,模拟的东西会注入到创建的实例类中
verify的重要用法
校验是否调用或调用了几次
verify(mockedList, atLeastOnce()).add("one");
verify(mockedList, times(1)).add("two");
verify(mockedList, times(3)).add("three times");
verify(mockedList, never()).isEmpty();
第一句校验 mockedList.add("one")