📅  最后修改于: 2023-12-03 15:41:47.913000             🧑  作者: Mango
Mockito 是一个基于 Java 的 mock 测试框架。它可以用来模拟对象和测试类间的交互,从而使得单元测试更加简单、可靠、易维护。
在开始使用 Mockito 前,需要先在项目中添加 Mockito 的依赖项。在 Maven 中添加以下依赖:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.9.0</version>
<scope>test</scope>
</dependency>
要模拟一个对象,可以使用 Mockito 的 mock()
方法。例如,要模拟一个 List
对象,可以使用以下代码:
List mockedList = mock(List.class);
要设置 Mock 对象的行为,可以使用 when()
和 thenReturn()
方法。例如:
when(mockedList.get(0)).thenReturn("first");
上面的代码表示当 mockedList
对象调用 get(0)
方法时,返回值为 "first"
。
要验证 Mock 对象是否按照预期进行了调用,可以使用 verify()
方法。例如:
verify(mockedList).add("one");
上面的代码表示验证是否调用了 mockedList.add("one")
方法。
如果想让一个模拟对象在调用方法时抛出异常,可以使用 thenThrow()
方法。例如:
when(mockedList.get(1)).thenThrow(new RuntimeException());
上面的代码表示当 mockedList
对象调用 get(1)
方法时,会抛出运行时异常。
Mockito 还支持使用 @Mock
注解来创建 Mock 对象。例如:
@Mock
List mockedList;
Mockito 还支持使用 @RunWith(MockitoJUnitRunner.class)
注解来初始化 Mock 对象。例如:
@RunWith(MockitoJUnitRunner.class)
public class MyTest {
@Mock
List mockedList;
@Test
public void test() {
// test code
}
}
上面的代码表示在运行测试之前,Mockito 会自动初始化 mockedList
对象。
Mockito 是一个强大的 mock 测试框架,可以在单元测试中模拟对象和测试类间的交互。通过学习本文,您现在应该已经掌握了如何使用 Mockito。