本篇讲解如何针对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());