读书人

JMockit运用实例lt;二gt;mock private的域

发布时间: 2012-08-10 12:19:33 作者: rapoo

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的类或实例,方法名,方法的参数列表)

读书人网 >开源软件

热点推荐