Java单元测试 - mock静态方法

文章目录

  • [1. mock 静态方法](#1. mock 静态方法)
  • [2. 升级 maven 依赖](#2. 升级 maven 依赖)
  • [3. 示例](#3. 示例)

1. mock 静态方法

mockito 在 3.4.0 版本之后,开始支持 mock static method。

2. 升级 maven 依赖

java 复制代码
		<dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>3.12.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <version>3.12.4</version>
            <scope>test</scope>
        </dependency>

3. 示例

类 A 有一个静态方法 a(),

java 复制代码
public class A {
    
    public static String a() {
        return "";
    }
    
}

测试用例

java 复制代码
	@Test
    public void testA(){
    	// 在try代码块中实例化一个MockedStatic
        try (MockedStatic<A> mockedStatic = Mockito.mockStatic(A.class)) {
        	// mock的静态方法的调用
            mockedStatic.when(A::a).thenReturn("xxx");
            
            // 单元测试的内容
            assertThat(.....)
        }
    }
相关推荐
IUGEI2 小时前
从原理到落地:DAG在大数据SLA中的应用
java·大数据·数据结构·后端·算法
Whisper_Sy8 小时前
Flutter for OpenHarmony移动数据使用监管助手App实战 - 网络状态实现
android·java·开发语言·javascript·网络·flutter·php
乂爻yiyao8 小时前
1.1 JVM 内存区域划分
java·jvm
没有bug.的程序员9 小时前
Spring Cloud Eureka:注册中心高可用配置与故障转移实战
java·spring·spring cloud·eureka·注册中心
CryptoRzz9 小时前
如何高效接入日本股市实时数据?StockTV API 对接实战指南
java·python·kafka·区块链·状态模式·百度小程序
码农水水9 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
若鱼191910 小时前
SpringBoot4.0新特性-BeanRegistrar
java·spring
好好研究10 小时前
SpringBoot - yml配置文件
java·spring boot·spring
学海无涯书山有路11 小时前
Android FragmentContainerView 新手详解(Java 版)
android·java·开发语言
XiYang-DING11 小时前
【Java SE】数据类型、变量、类型转换、运算符以及程序逻辑控制
java·开发语言