pojo in action 中的JMOCK 测试

JMOCK网站上只提供JMOCK1.2以后,当使用JMOCK1.2时,怎么也运行不了,发现无法使用它来模拟类,只能模拟接口,即使加CGLIB也起不了作用,后来发现作者使用的是JMOCK1.01
JMOCK的每个版本变化太大,这也不太利于它的发展。JMOCK1.01中有一个cglib-full-2.0.jar。它可以用来模拟类。

在工程中导入jmock-1.0.1.jar ,jmock-cglib-1.0.1.jar ,cglib-full-2.0.jar 三个jar包,然后在JUnit中执行BusinessTest.java,会显示绿棒,这样,在没有数据库的情况下,单元测试成功。

  使用JMock模拟类的条件:

  1、要有无参数的构造器;

  2、构造器是public;

  这样对于private的构造器或单例模式的类应该是无法模拟了。这样就要求我们养成针对接口编程的习惯,对接口用JMock进行模拟将不受这些限制。只需要将

  [b]import org.jmock.cglib.MockObjectTestCase;

  import org.jmock.cglib.Mock;[/b]  改为

  import org.jmock.MockObjectTestCase;

  import org.jmock.Mock;

  即可。

  对于Mock类,有很多API可供使用,比如:

  isA(Class clz) 表示为某个类

  isVoid() 将will()换成isVoid()表示无返回值

  详细API可以参考一下DOC,还会找到很多有用的东西。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值