jmock2学习笔记

总结下这几天初步学习mock的心得. 文中大部分内容来自官网文档.

创建Mock对象

 

 

创建Mock Expections

 

expections 这里指的是jmock在不同情况下的预期值。expections 是jmcok的最重要部分之一。可以模拟用户在不同情况下返回不同的结果。

<expections block>这里是可以设置多个expections 。

Expectations

expections的结构如下:

上面是一个通用的结构。所有expecions都采用相同或更简洁的结构。

invocation-countmock调用频率。oneOf表示调用一次后这个expections即失效。
mock-objectmock对象。即上面Mockery创建的对象。
method用mock代替实现接口的一个方法。所以mock必须使用接口编程。
argument-constraintsmock参数条件。即mock指定方法的参数。
when … will…then …类似于if .. else… 这样的语句。简单的条件表达式
actionmock符合条件后,执行操作。一般是返回结果。或者抛出异常
state-machine条件表达式。

下面详细讲解下expectations各个部分。

Invocation Count

oneOf只执行一次
exactly(n).of执行指定n次
atLeast(n).of至少执行n次
atMost(n).of最多执行n次
between(min,max).of可以执行min-max次
allowing允许执行,不受限制
ignoring功能同allowing类似。这里主要字面上区分allowing
never不允许执行

Actions

will(returnValue(v))返回一个值。Object类型任意。集合类型不建议这里返回。虽然也可以
will(returnIterator(c))返回一个集合类型的值。
will(returnIterator(v1v2, …,vn))返回一个集合类型的值。可以用多个,来分隔。
will(throwException(e))抛出一个异常。
will(doAll(a1a2, …, an))嵌套执行多个actoin。不常用。

Sequences

设定mock方法调用的顺序。简单的看下面代码片段。
定义了先save后countUser。调用的时候也必须找这个顺序。否则用例失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值