当前位置: 首页 > 工具软件 > jMock > 使用案例 >

JMock

廉展鹏
2023-12-01
参见
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);

}
 类似资料: