读书人

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

发布时间: 2012-07-02 17:46:22 作者: rapoo

JMockit使用实例<二>mock private的域或方法
关键词:mock private的域或方法 invoke源类清单<br>??? 参考<一>的例子,now方法是私有的

/** * 演示mock private的域或方法 */public class dateutil {    ......    private int count;    public int getcount(){      return this.count;    }    private static final date now() {        return new date();    }    ......}
?单元测试类清单
/** * 演示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());    }
?小结<br>mock 某个类的私有方法,用invoke(mock的类或实例,方法名,方法的参数列表)

读书人网 >开源软件

热点推荐