📅  最后修改于: 2023-12-03 15:32:55.248000             🧑  作者: Mango
Mockito是一个流行的Java测试框架,用于模拟对象和打桩(Stub)。
模拟是一种测试技术,用于创建虚假的对象(也称为Mock对象),以测试代码中的其他对象与其交互的方式。使用模拟可以减少测试代码的复杂性和依赖性。
打桩是一种测试技术,用于对方法或函数的返回值进行硬编码。这样,当调用该方法或函数时,它将返回预定的值,而不是实际的值。
Mockito可以通过以下步骤使用:
1.导入Mockito依赖
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.11.2</version>
<scope>test</scope>
</dependency>
2.创建Mock对象
List<String> mockedList = Mockito.mock(List.class);
3.打桩
Mockito.when(mockedList.get(0)).thenReturn("first");
4.执行测试
assertEquals("first", mockedList.get(0));
Mockito还提供了一种验证Mock对象的方法。可以验证Mock对象是否已调用某些方法,以及调用次数等。
以下是验证Mock对象调用方法的示例:
// 验证给定Mock对象上具有零次调用的方法
Mockito.verify(mockedList, Mockito.never()).clear();
// 验证调用一次给定Mock对象上的方法
Mockito.verify(mockedList).add("one");
// 验证给定Mock对象上调用的次数
Mockito.verify(mockedList, Mockito.times(2)).add("two");
Mockito还提供了许多其他功能,例如:
Mockito是一个功能强大的Java测试框架,可以使用它进行模拟和打桩。此外,它还提供了许多其他功能,使测试变得更加容易。