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(.....)
        }
    }
相关推荐
lhldsg24 分钟前
多商户团购系统源码:技术架构选型与二次开发实战指南
java·小程序·架构
亦暖筑序25 分钟前
AgentScope Java 实战:@Tool 方法里到底该不该写业务逻辑?
java·agent·ai编程
脉动数据行情129 分钟前
Java SpringBoot 国际期货批量采集实践 美原油 / 黄金 / 指数期货定时落库
java·开发语言·spring boot
Zane199437 分钟前
写Stream时踩过的坑:中间操作不会真正执行,直到你调用这一个方法
java·后端
EXI-小洲44 分钟前
Spring AI (第二章)大模型对话上下文记忆
java·人工智能·spring
扬大平仔1 小时前
# 小深:用 AgentScope Java 2.0 Harness 做私人助手(上)mysql
java·开发语言·mysql
阿里云基础软件1 小时前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·人工智能·操作系统·sysom 诊断 skill
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之自动化集成测试
java·spring·自动化
Sylvia33.1 小时前
板球实时数据接入实战:从Frames模型到多赛制适配
java·python·websocket·网络协议·架构
Zzzzmo_2 小时前
SpringBoot 日志
java·spring boot·spring