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"); }}