声明:
Author:赵志乾
Date:2017-7-30
Declaration:All Right Reserved!!!
1、测试通常需要指定预期某些方法允许出现被调用的次数。格式如下:
invocation-count (mock).method(parameters); ...
调用次数定义了预期方法允许被调用次数的最大值和最小值。以下是一些常用的调用次数格式:
one 预期方法被调用一次,且只调用一次; exactly(n).of 预期方法被调用n次; atLeast(n).of 预期方法至少被调用n次; atMost(n).of 预期方法至多被调用n次; between(min,max) 预期方法至少被调用min次,至多被调用max次; allowing 允许方法被调用任意次数,包括0次; ignoring 和allowing一样; never 预期方法不被调用;
2、预期调用和允许调用之间的区别如下:
如果调用是被允许的,那么这个方法在测试运行期间可以被调用,也可以不被调用;而如果调用是被预期的,那么在测试运行期间必须被调用,否则测试被标记为失败。我们在定义expectations时,通常遵循下面的这条规则:对于查询(除了获取对象状态外,什么都不做),使用允许;而对于命令(具有附带效应),使用预期。虽然这条规则并不总是有效,但它至少为我们提供了一定的参考。
注:本博客中的实例代码均来自于JMock Cookbook。