本文主要是介绍JMock,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参见http://www.iteye.com/topic/770438
JMock 默认是只支持针对接口的mock, 加了以下的设置可以对类进行mock
// set imposteriser to instance and CGLIB will be used,
context.setImposteriser(ClassImposteriser.INSTANCE);
第0章 概述
第1章 jmock初体验
第2章 期望
第3章 返回值
第4章 参数匹配
第5章 指定方法调用次数
第6章 指定执行序列
第7章 状态机
@Test
public void testFindAddress() {
// 建立一个test上下文对象。
Mockery context = new Mockery();
// 生成一个mock对象
final AddressService addressServcie = context
.mock(AddressService.class);
// 设置期望。
context.checking(new Expectations() {
{
// 当参数为"allen"的时候,addressServcie对象的findAddress方法被调用一次,并且返回西安。
oneOf(addressServcie).findAddress("allen");
will(returnValue(Para.Xian));
}
});
UserManager manager = new UserManager();
// 设置mock对象
manager.addressService = addressServcie;
// 调用方法
Address result = manager.findAddress("allen");
// 验证结果
Assert.assertEquals(Result.Xian, result);
}
这篇关于JMock的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!