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);

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值