读书人

jmockit 打桩步骤(2)

发布时间: 2012-08-24 10:00:20 作者: rapoo

jmockit 打桩方法(2)
2.用new MockUp方法打桩

import mockit.Mock;import mockit.MockUp;import mockit.Mockit;import org.junit.After;import org.junit.Before;import org.junit.Test;public class BizTest2 {    @Before    public void setUp() throws Exception {        new MockUp<Common>(){            //mock 构造方法            @Mock            public void $init(){                System.out.println("Mock init()");            }                        //mock public 方法            @Mock            public void doA(){                System.out.println("mock doA()");            }                        //mock public static 方法            @Mock             public  void doB(){                System.out.println("mock doB()");            }                        //mock private 方法 这里也需声明为public            @Mock            public void doC(){                System.out.println("mock doC()");            }        };                new MockUp<Single>(){            //mock单例方法            @Mock            public void doA(){                System.out.println("mock single doA()");            }        };    }    @After    public void tearDown() throws Exception {        Mockit.tearDownMocks();    }    @Test    public void testCallCommon() {        new Biz().callCommon();    }    @Test    public void testCallSingle() {        new Biz().callSingle();    }}


3.用Mockit.redefineMethods方法打桩
import mockit.Mockit;import org.junit.After;import org.junit.Before;import org.junit.Test;public class BizTest3 {    @Before    public void setUp() throws Exception {        Mockit.redefineMethods(Common.class, MockCommon3.class);        Mockit.redefineMethods(Single.class, MockSingle3.class);    }    @After    public void tearDown() throws Exception {        Mockit.tearDownMocks();    }    @Test    public void testCallCommon() {              new Biz().callCommon();    }    @Test    public void testCallSingle() {               new Biz().callSingle();    }}class MockCommon3 {    public void $init(){        System.out.println("mock constructor");    }    public void doA(){        System.out.println("mock doA");    }    public void doB(){        System.out.println("mock doB");    }    public void doC(){        System.out.println("mock doC");    }}class MockSingle3 {    public void doA(){        System.out.println("mock single doA");    }}


4.用Mockit.setUpMock方法打桩
import mockit.Mock;import mockit.MockClass;import mockit.Mockit;import org.junit.After;import org.junit.Before;import org.junit.Test;public class BizTest4 {    @Before    public void setUp() throws Exception {        Mockit.setUpMock(Common.class, MockCommon4.class);        Mockit.setUpMock(Single.class, MockSingle4.class);    }    @After    public void tearDown() throws Exception {    }    @Test    public void testCallCommon() {        new Biz().callCommon();    }    @Test    public void testCallSingle() {        new Biz().callSingle();    }}@MockClass(realClass = Common.class)class MockCommon4 {    @Mock    public void $init(){        System.out.println("mock constructor");    }    @Mock    public void doA(){        System.out.println("mock doA");    }    @Mock    public void doB(){        System.out.println("mock doB");    }    @Mock    public void doC(){        System.out.println("mock doC");    }}@MockClass(realClass = Single.class)class MockSingle4 {    @Mock    public void doA(){        System.out.println("mock single doA");    }}

读书人网 >编程

热点推荐