zoukankan      html  css  js  c++  java
  • 用PowerMock mock final类

    mock final类相对简单,直接贴代码

    被测方法:

    public class FinalEmployeeService {
    
        public void insertEmployee(Employee employee) {
            FinalEmployeeDao employeeDao = new FinalEmployeeDao();
            employeeDao.insertEmployee(employee);
        }
    }

    final 类

    final public class FinalEmployeeDao {
    
        public boolean insertEmployee(Employee employee) {
            throw new UnsupportedOperationException();
        }
    }

    测试类:

    @PrepareForTest(value={FinalEmployeeDao.class,FinalEmployeeService.class})
    public class EmployeeServiceTestWithFinalClassTest extends PowerMockTestCase{
        @ObjectFactory
        public ITestObjectFactory getObjectFactory() {
            return new PowerMockObjectFactory();
        }
        
        @Test
        public void test() throws Exception {
            FinalEmployeeDao employeeDao = PowerMockito
                    .mock(FinalEmployeeDao.class);
            Employee employee = new Employee();
            PowerMockito.whenNew(FinalEmployeeDao.class).withNoArguments().thenReturn(employeeDao);
            PowerMockito.when(employeeDao.insertEmployee(employee)).thenReturn(true);
            FinalEmployeeService employeeService = new FinalEmployeeService();
            employeeService.insertEmployee(employee);
            Mockito.verify(employeeDao).insertEmployee(employee);
        }
    }
  • 相关阅读:
    java反射笔记
    Java常见异常类型
    找了这么多毕业设计题目,反而不知道选什么了
    C#中Trim()、TrimStart()、TrimEnd()的用法
    JS bom对象
    HTML随笔
    Sublim text3汉化
    11G RAC ORA-32701
    DB_LINK
    ORA-16957: SQL Analyze time limit interrupt
  • 原文地址:https://www.cnblogs.com/changzhz/p/5163376.html
Copyright © 2011-2022 走看看