Jmockit如何同時mock多個類的靜態方法


  使用Jmockit來mock類的靜態方法,網上有很多mock單個類靜態方法的例子。有使用Expectations,還有使用MockUp的。

       但是如果想在一個測試方法中mock多個類的靜態方法,該怎么寫呢。

       先看mock一個類的靜態方法

public class MethodClass
{
    public static String publicStaticMethod()
    {
        return "Original public Static Method !";
    }

    public String publicMethod()
    {
        return "Original public Method !";
    }
}

  使用Expectations來mock

@Test
public void test_mockPublicStatic1()
{
    new Expectations(MethodClass.class)
    {
        {
            MethodClass.publicStaticMethod();
            result = "Mocked public static method";
        }
    };

    System.out.println(MethodClass.publicStaticMethod());//Mocked public static method

    MethodClass obj = new MethodClass();
    System.out.println(obj.publicMethod());// Original public Method !
}

      mock多個類的靜態方法,同時傳入A.class,B.class。按照期望的順序錄制即可。

new Expectations(A.class,B.class)
    {
        {
            A.publicStaticMethod();
            result = "Mocked public static method";
    
            B.publicStaticMethod();
            result = "Mocked public static method";
        }
    };

 

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM