有时候,需要测试的方法内有collections结构,就需要同时mock多个对象 被测方法: public class EmployeeService { public List<Integer> getTotalLIst(){ List<Integer> list = new ArrayList<Integer>(); for (int i=0;i<10;i++){ list.add(employeeDao.getTotal()); } return list;
首先,简单说说PowerMockito进行单元测试的三部曲: 打桩,即为非测试目标方法设置返回值,这些返回值在测试目标方法中被使用.执行测试,调用测试目标方法.验证测试结果,如测试方法是否被执行,测试结果是否正确等.其次,在使用PowerMockito框架进行单元测试的过程中,经常遇到如下异常: Invalid use of argument matchers!0 matchers expected, 1 recorded:-> at com.mycompany.myproject.mypack
有些对象需要mock的对象是由工厂方法产生出来的,而工厂方法一般是静态方法,这时候就需要同时mock工厂方法及对象 被测方法: public class EmployeeServiceFactory { public void saveEmployee(Employee employee){ EmployeeDaoFactory dao = EmployeeDaoFactory.newInstance(); method("powermock"); dao.addEmployee(em
也相对简单,直接贴代码 被测方法 public class EmployeeServiceWithParam { public void createEmployee(final Employee employee) { EmployeeDaoWithParam employeeDao = new EmployeeDaoWithParam(false, Dialect.MYSQL); employeeDao.insertEmploye(employee); } } public class Em