package com.wushq.projects.test;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
@RunWith(MockitoJUnitRunner.class)
public class UseMockitoJUnitRunnerTest {
@Mock
private List mockList;
@Test
public void shorthand() {
mockList.add(1);
verify(mockList).add(1);
assertEquals(1, mockList.get(0));
}
}
1. @RunWith
如果一个类有@RunWith注解,或者,继承了一个有@RunWith注解的类,那么,JUnit将会调用@RunWith中指定的测试执行类而不是JUnit默认的执行类。
2. MockitoJUnitRunner
初始化带有Mock注解的Mock数据,所以,在使用此执行类时,不在需要在使用MockitoAnnotations.initMocks(this)初始化Mock数据。Mock数据会在每一个测试方法前初始化。