Java单元测试 - mock静态方法

文章目录

  • 1. mock 静态方法
  • 2. 升级 maven 依赖
  • 3. 示例

1. mock 静态方法

mockito 在 3.4.0 版本之后,开始支持 mock static method。

2. 升级 maven 依赖

		<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(),

public class A {
    
    public static String a() {
        return "";
    }
    
}

测试用例

	@Test
    public void testA(){
    	// 在try代码块中实例化一个MockedStatic
        try (MockedStatic<A> mockedStatic = Mockito.mockStatic(A.class)) {
        	// mock的静态方法的调用
            mockedStatic.when(A::a).thenReturn("xxx");
            
            // 单元测试的内容
            assertThat(.....)
        }
    }

你可能感兴趣的:(Java项目经验总结,java,单元测试,log4j)