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(.....)
        }
    }
相关推荐
咖啡里的茶i6 分钟前
数字化图书管理系统设计实践(java)
java·课程设计
九转苍翎31 分钟前
Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
java·thread
曲莫终32 分钟前
正则表达式删除注释和多余换航
java·kotlin
whitepure1 小时前
万字详解JavaObject类方法
java·后端
Momentary_SixthSense1 小时前
RESP协议
java·开发语言·javascript·redis·后端·python·mysql
程序员清风1 小时前
程序员兼职月入20K+?这6种路径+平台避坑又赚钱!
java·后端·面试
爱由芯生1 小时前
JFinal加密你值得学习
java
MacroZheng1 小时前
横空出世!一款开源的数据同步工具,稳定又高效,好用到爆!
java·后端·mysql
你想考研啊1 小时前
部署tomcat应用时注意事项
java·tomcat
喵手2 小时前
Java中的垃圾回收机制(GC),你知道如何优化吗?
java·后端·java ee