建立由 Mockito 模擬的物件
建立由 Mockito 模擬的物件有兩種方法:
- 通過註釋
- 通過模擬功能
通過註釋:
使用 JUnit 測試執行器:
@RunWith(MockitoJUnitRunner.class)
public class FooTest {
@Mock
private Bar barMock;
// ...
}
你也可以使用 Mockito 的 JUnit @Rule
,它提供與 MockitoJUnitRunner
相同的功能,但不需要 @RunWith
測試執行器:
public class FooTest {
@Rule
public MockitoRule mockito = MockitoJUnit.rule();
@Mock
private Bar barMock;
// ...
}
如果你不能使用 @RunWith
或 @Rule
註釋,你也可以按手初始化:
public class FooTest {
@Mock
private Bar barMock;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
// ...
}
通過模擬功能:
public class FooTest {
private Bar barMock = Mockito.mock(Bar.class);
// ...
}
由於型別擦除,你不能像上面那樣模擬泛型類。你必須模擬基類並顯式轉換為正確的泛型型別:
public class FooTest {
private Bar<String> genericBarMock = (Bar<String>) Mockito.mock(Bar.class);
// ...
}