本篇讲解如何针对void方法,即无返回结果的方法测试
void方法
void方法的测试不能像前面几篇介绍的那样在then标签里验证返回结果,因为void方法没有返回值
一般来说无返回值的方法,内部逻辑会修改入参的属性值,比如参数是个对象,那代码里可能会修改它的属性值,虽然没有返回,但还是可以通过校验入参的属性来测试void方法
还有一种更有效的测试方式,就是验证方法内部逻辑和流程是否符合预期,比如:
- 应该走到哪个分支逻辑?
- 是否执行了这一行代码?
- for循环中的代码执行了几次?
- 变量在方法内部的变化情况?
先看一个void方法的业务代码示例:
/** * 根据汇率计算金额 * @param userVO */public void setOrderAmountByExchange(UserVO userVO){ if(null == userVO.getUserOrders() || userVO.getUserOrders().size() <= 0){ return ; } for(OrderVO orderVO : userVO.getUserOrders()){ BigDecimal amount = orderVO.getAmount(); // 获取汇率(调用汇率接口) BigDecimal exchange = moneyDAO.getExchangeByCountry(userVO.getCountry()); amount = amount.multip