JMockit使用实例<二>mock private的域或方法
关键词:mock private的域或方法 invoke源类清单
??? 参考<一>的例子,Now方法是私有的
/** * 演示mock private的域或方法 */public class DateUtilTest { /** * Mock某个类私有方法 */ @Test public void testGetCurrentDateStr() { //DateUtil.class,要Mock的类 new Expectations(DateUtil.class) { { //执行DateUtil的now方法 invoke(DateUtil.class,"now"); //期望方法返回的结果 result = mockDate(); } }; Assert.assertEquals("2010-07-22 15:52:55", DateUtil.getCurrentDateStr()); } /** * mock 某个类的私有属性 */ @Test public void testPrivateFiled() { final DateUtil dateUtil =new DateUtil(); new Expectations(dateUtil){ { this.setField(dateUtil, "count", 2); } }; Assert.assertEquals(2, dateUtil.getCount()); }?
小结mock 某个类的私有方法,用invoke(mock的类或实例,方法名,方法的参数列表)