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(.....)
        }
    }
相关推荐
花阴偷移13 小时前
kotlin语法(上)
android·java·开发语言·kotlin
木易 士心14 小时前
Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言
java·golang·rust
qq_3363139314 小时前
java基础-set系列集合
java·开发语言·python
U***l83214 小时前
【Spring】IDEA中创建Spring项目
java·spring·intellij-idea
好好沉淀14 小时前
IDEA 报错:You aren‘t using a compiler supported by lombok (1分钟解决方案)
java·spring·intellij-idea
今天你TLE了吗14 小时前
通过RocketMQ延时消息实现优惠券等业务MySQL当中定时自动过期
java·spring boot·后端·学习·rocketmq
胡楚昊14 小时前
CTF SHOW逆向
java·服务器·前端
烤麻辣烫14 小时前
黑马程序员苍穹外卖(新手)DAY12
java·开发语言·学习·spring·intellij-idea
BD_Marathon14 小时前
【IDEA】常用插件——3
android·java·intellij-idea
lichong95114 小时前
RelativeLayout 根布局里有一个子布局预期一直展示,但子布局RelativeLayout被 覆盖了
android·java·前端