📜  调用 mockito 方法 (1)

📅  最后修改于: 2023-12-03 15:41:47.913000             🧑  作者: Mango

调用 Mockito 方法

Mockito 是一个基于 Java 的 mock 测试框架。它可以用来模拟对象和测试类间的交互,从而使得单元测试更加简单、可靠、易维护。

安装 Mockito

在开始使用 Mockito 前,需要先在项目中添加 Mockito 的依赖项。在 Maven 中添加以下依赖:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>3.9.0</version>
    <scope>test</scope>
</dependency>
创建 Mock 对象

要模拟一个对象,可以使用 Mockito 的 mock() 方法。例如,要模拟一个 List 对象,可以使用以下代码:

List mockedList = mock(List.class);
设置 Mock 对象的行为

要设置 Mock 对象的行为,可以使用 when()thenReturn() 方法。例如:

when(mockedList.get(0)).thenReturn("first");

上面的代码表示当 mockedList 对象调用 get(0) 方法时,返回值为 "first"

验证 Mock 对象的行为

要验证 Mock 对象是否按照预期进行了调用,可以使用 verify() 方法。例如:

verify(mockedList).add("one");

上面的代码表示验证是否调用了 mockedList.add("one") 方法。

Stubbing 方法抛出异常

如果想让一个模拟对象在调用方法时抛出异常,可以使用 thenThrow() 方法。例如:

when(mockedList.get(1)).thenThrow(new RuntimeException());

上面的代码表示当 mockedList 对象调用 get(1) 方法时,会抛出运行时异常。

使用注解创建 Mock 对象

Mockito 还支持使用 @Mock 注解来创建 Mock 对象。例如:

@Mock
List mockedList;
使用注解初始化 Mock 对象

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。