• java单元测试之Mock静态方法


    1

    public final class AmountUtil {
        public static String CustomFormatWith2Digits(int amount) {
            return "1";
        }
    }

    2.引入依赖

    <dependency>
          <groupId>org.mockito</groupId>
          <artifactId>mockito-core</artifactId>
          <version>1.10.19</version>
          <scope>test</scope>
        </dependency>
    
        <dependency>
          <groupId>org.powermock</groupId>
          <artifactId>powermock-api-mockito</artifactId>
          <version>1.6.5</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.powermock</groupId>
          <artifactId>powermock-module-junit4</artifactId>
          <version>1.6.5</version>
          <scope>test</scope>
        </dependency>

    3.写单元测试

    import org.junit.Assert;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.mockito.Mockito;
    import org.powermock.api.mockito.PowerMockito;
    import org.powermock.core.classloader.annotations.PowerMockIgnore;
    import org.powermock.core.classloader.annotations.PrepareForTest;
    import org.powermock.modules.junit4.PowerMockRunner;
    
    import static org.mockito.Matchers.anyInt;
    import static org.mockito.Matchers.eq;
    import static org.mockito.MockitoAnnotations.initMocks;
    import static org.mockito.Matchers.anyObject;
    import static org.mockito.Mockito.when;
    
    @RunWith(PowerMockRunner.class)
    @PrepareForTest({AmountUtil.class})
    @PowerMockIgnore("javax.management.*")
    public class StaticClassTest {
    
        @Before
        public void setUp() throws Exception {
            initMocks(this);
        }
    
        @Test
        public void test1() throws Exception {
            this.mockResources();
            String s = AmountUtil.CustomFormatWith2Digits(1);
            Assert.assertTrue(s == "");
        }
    
        private void mockResources() throws Exception {
            PowerMockito.mockStatic(AmountUtil.class);
    
            PowerMockito.when(AmountUtil.CustomFormatWith2Digits(anyInt())).thenReturn("");
        }
    }
  • 相关阅读:
    C++ 编码转换
    获取文件扩展名
    字符串分割(C++)(转载)
    Visual Leak Detector简明使用教程
    Win32 文件拖拽
    IMAP协议命令(详细)
    CreateDirectory 创建文件夹 CC++
    编程习惯总结
    GitHub上整理的一些工具,求补充
    jquery生成qrcode二维码
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/8296918.html
Copyright © 2020-2023  润新知