jmockit 打桩步骤(1)

jmockit 打桩方法(1)
用jmockit打桩的方法可能有很多种
总结一下常用的三种
1. 用new MockUp<>()方法
2. 用Mockit.redefineMethods
3. 用Mockit.setUpMock

贴个例子:
1.业务类Biz 对其进行单元测试

public class Biz {
    public void callCommon(){
        Common c = new Common();
        c.doA();
        Common.doB();
        c.doCC();
    }
    
    public void callSingle() {
        Single.getInstance().doA();
    }
}



2.Common类 测试时对其打桩


public class Common {
    public Common(){
        System.out.println("common constructor");
    }
    public Common(String str){
        
    }
    
    public void doA(){
        System.out.println("Common : doA()");
    }
    
    public static void doB() {
        System.out.println("Common : doB()");
    }
    
    public void doCC(){
        doC();
        System.out.println("Common : doCC()");
    }
    private void doC(){
        System.out.println("Common : doC()");
    }     
}


3.Single类 单例类 测试时也对其打桩
public final class Single {
    private static Single ins = new Single();
    
    private Single(){
        
    }
    
    public static Single getInstance(){
        return ins;
    }
    
    public void doA() {
        System.out.println("Single : doA()");
    }
}



单元测试
1.不打桩测试
import org.junit.After;
import org.junit.Before;
import org.junit.Test;


public class BizTest1 {

    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void testCallCommon() {
        new Biz().callCommon();
    }

    @Test
    public void testCallSingle() {
        new Biz().callSingle();
    }

}