JMock实践---(四)参数匹配

声明:

Author:赵志乾

Date:2017-7-30

Declaration:All Right Reserved!!!


参数匹配


1、参数匹配关联动作

    可以通过不同的传入参数,让Mock对象的同一方法被调用时通过参数匹配来执行不同的动作。如下例所示:

allowing (calculator).add(1,1); will(returnValue(3));
allowing (calculator).add(2,2); will(returnValue(5));
allowing (calculator).sqrt(-1); will(throwException(new IllegalArgumentException());

2、参数匹配关联调用次数

    可以通过不同的传入参数,来为Mock对象的同一方法调用指定不同的调用次数。如下例所示:

one   (calculator).load("x"); will(returnValue(10));
never (calculator).load("y");

3、参数匹配规则

    参数匹配是通过matchers来判定实际参数和预期参数是否相等。此处相等的含义拥有默认定义:对于大多数的参数,取决于其定义的equals方法;null会提前做检查,故可以放心的将null作为实际参数或者预期参数;数组的相等含义是指两者长度相同,且对应位置的元素均相等。

注:如果我们不想采用默认的参数匹配规则,可以在预期中给每个参数定义一个matchers。



注:本博客中的实例代码均来自于JMock Cookbook。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫白小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值