📜  Mockito-间谍(1)

📅  最后修改于: 2023-12-03 14:44:19.868000             🧑  作者: Mango

Mockito-间谍

简介

Mockito 是一个 Java 编写的测试框架,它能够轻松地创建和处理 Java 测试中所需的各种 mock 对象。Mockito 的核心理念是使用“间谍”(spy)对象替代真正的对象进行测试,以保证测试的可靠性和可重复性。Mockito 的优点包括易于使用和理解、代码简洁和清晰、测试代码耦合度低、可重复性高等。

使用方法
添加依赖

首先需要在项目中添加 Mockito 的依赖,可以在 build.gradlepom.xml 文件中加入以下代码:

// build.gradle
dependencies {
    // ...
    testImplementation "org.mockito:mockito-core:3.12.4"
    // ...
}
<!-- pom.xml -->
<dependencies>
    <!-- ... -->
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>3.12.4</version>
        <scope>test</scope>
    </dependency>
    <!-- ... -->
</dependencies>
创建 Mock 对象

以创建一个 List 接口的 mock 对象为例:

List<String> mockList = Mockito.mock(List.class);
Stub 测试方法
// 当调用 mockList 的 size() 方法时,返回 10
Mockito.when(mockList.size()).thenReturn(10);
验证方法调用
// 验证 mockList 的 add() 方法是否被调用过
Mockito.verify(mockList).add("foo");
间谍对象

除了常规的 mock 对象,Mockito 还提供了间谍对象(spy)功能,即用真实的对象替代 mock 对象进行测试。

List<String> spyList = Mockito.spy(new ArrayList<>());

// 调用真实对象的 add() 方法
spyList.add("foo");

// 验证真实对象的 size() 方法返回了 1
Mockito.verify(spyList).size();
总结

Mockito 是一个很好的 Java 测试框架,可以帮助开发人员创建和管理 mock 对象,使得测试更加可靠和可重复。通过本文的介绍,相信读者已经对 Mockito 的使用方法有了更深入的了解。