JUnit测试存在的问题——并未完成整个功能,而只是其中的某些类时该如何去做?
JMock解决了这一个问题,通过面向接口和动态代理,事情变得异常简单。
JMock的常见用法如下:
1、com.mockobjects.dynamic.Mock类
Mock 对象名 = new Mock(接口名.class);
接口名 inter = (接口名)对象名.proxy();
2、定义预期Mock对象哪个方法将被怎样调用
(1)对象.expect("方法名",参数对象)
常见的参数对象有C.ANY_ARGS
(2)参数对象也可以用如下的方法
new Constraint[]{}
Constraint只有一个方法public boolean eval(Object o);
常见的有
IsEqual(Object)
IsAnything
IsInstanceOf(Class)
IsGreaterThan(数字)
(3)还可以用C.eq(对象1,对象2,.)
3、将Mock对象作为参数传入程序,正常执行方法,然后调用对象的verify方法看是否已经真的被调用了该方法
4、让Mock对象能按指定的方式返回值
mock.matchAndReturn("方法名",对象);
posted on 2006-11-11 23:55
刘鑫铨 阅读(343)
评论(0) 编辑 收藏