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(.....)
        }
    }
相关推荐
流星白龙12 分钟前
【Docker】4.NameSpace空间隔离实战
java·运维·docker
AI人工智能+电脑小能手13 分钟前
【大白话说Java面试题 第207题】【09_Zookeeper篇】第8题:谈谈 ZooKeeper 的可靠性保障机制
java·zookeeper·高可用·可靠性·分布式系统
harmful_sheep20 分钟前
maven多版本包导致java.lang.NoClassDefFoundError
java·maven
Mark_ZP31 分钟前
【锁2】锁的分类与概念
java·
caishenzhibiao1 小时前
顺势捕猎者副图 同花顺期货通指标
java·c语言·c#
笨蛋不要掉眼泪1 小时前
RabbitMQ消息队列:SpringAMQP
java·分布式·rabbitmq
Mark_ZP2 小时前
【锁6】AQS (AbstractQueuedSynchronizer) 核心原理详解
java
AI砖家2 小时前
多商户多租户系统架构设计文档(Java版)
java·开发语言·系统架构·多租户·多商户
落苜蓿蓝2 小时前
Java 循环中对象复用导致属性覆盖?从 JVM 内存模型讲解原因
java·jvm·python
weixin_440784112 小时前
Android基础知识汇总
android·java·android studio