java void方法的单元测试_Spock单元测试框架实战指南五 - void方法测试

本文详细介绍了如何使用Spock框架对Java中无返回值的void方法进行单元测试。通过一个具体的void方法示例,展示了如何验证方法内部逻辑、调用次数以及参数变化。在测试中,利用Mock对象模拟了货币汇率接口,并使用Spock的`2 * moneyDAO.getExchangeByCountry(_) >> 0.1413 >> 0.1421`语法确保了接口被正确调用。此外,还提到了结合`where`关键字进行多分支void方法的测试方法。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值