zoukankan      html  css  js  c++  java
  • 用PowerMock mock static方法

    在编写代码时,经常需要调用别人已经写好的工具类,而这些工具提供的方法经常是static方法,在这里,直接贴出《PowerMock实战手册》中的例子

    待测试方法:

    public class EmployeeService {
        public int getEmployeeCountWithStatic() {
            return EmployeeUtils.getEmployeeCount();
        }
    }

    引用的工具类

    public class EmployeeUtils {
        public static int getEmployeeCount() {
            throw new UnsupportedOperationException();
        }
    }

    测试方法:

    @PrepareForTest(EmployeeUtils.class)
    public class EmployeeServiceTestWithStaticTest   extends PowerMockTestCase{
        
        private EmployeeService employeeService;
        
        @ObjectFactory
        public ITestObjectFactory getObjectFactory() {
            return new PowerMockObjectFactory();
        }
        
        @BeforeMethod
        public void init(){
             employeeService = new EmployeeService();
        }
    
        @Test
        public void testGetEmployeeCountWithStatic() {
            PowerMockito.mockStatic(EmployeeUtils.class);
            PowerMockito.when(EmployeeUtils.getEmployeeCount()).thenReturn(10);
            int count = employeeService.getEmployeeCountWithStatic();
            Assert.assertEquals(10, count);
        }
    }

    重点是

    PowerMockito.mockStatic(EmployeeUtils.class);

    mock类EmployeeUtils中的所有static方法

  • 相关阅读:
    10.31JS日记
    10.24JS日记
    10.23JS日记
    10.22JS日记
    10.19JS日记
    10.18JS日记
    Tomcat—Bad Request
    2016年上半年总结
    线程间操作无效
    压缩字符串的函数
  • 原文地址:https://www.cnblogs.com/changzhz/p/5162295.html
Copyright © 2011-2022 走看看