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(.....)
        }
    }
相关推荐
憧憬blog1 小时前
【Kiro开发集训营】拒绝“屎山”堆积:在 Kiro 中重构“需求-代码”的血缘关系
java·开发语言·kiro
e***74951 小时前
Spring Security 官网文档学习
java·学习·spring
n***i952 小时前
Java NIO文件操作
java·开发语言·nio
笃行客从不躺平3 小时前
接口幂等性(Idempotency)
java
Hero | 柒3 小时前
JAVA反射机制
java·spring·反射
j***63084 小时前
Springboot项目中线程池使用整理
java·spring boot·后端
likuolei4 小时前
Eclipse 创建 Java 接口
java·数据库·eclipse
q***54754 小时前
Spring Boot 经典九设计模式全览
java·spring boot·设计模式
a***56064 小时前
Spring Boot接收参数的19种方式
java·spring boot·后端
z***75154 小时前
SpringBoot集成MQTT客户端
java·spring boot·后端