2016-12-23 3 views
0

パブリックメソッド1をテストし、シングルトンクラスのprivateメソッドcreateJSONをモックしたいと思います。Powermockを使用したシングルトンオブジェクトのテストメソッド

public class SingletonClass { 
    private static SingletonClass singletonInstance = new SingletonClass(); 
    private SingletonClass() { 
    } 

    public static SingletonClass getInstance() { 
     return singletonInstance; 
    } 

    public JSONObject method1(int id, String str) 
     throws JSONException { 
     JSONObject loginJSON = createJSON(id, str); 
     return loginJSON; 
    } 

    private JSONObject createJSON(int id, String str){ 
     return new JSONObject().put("id", id).put("str", str); 
    } 

}

誰もこれに助けてもらえますか?

答えて

0

部分模擬が必要です。部分模倣は、あなたが作業しているクラスのメソッドのサブセットを模擬することを可能にしますが、他のメソッドは模倣することはできません。

This SO postは、パーシャルモックの使い方を説明しています。

+0

私の場合、シングルトンクラスを持ち、内部的にプライベートメソッドを呼び出すパブリックメソッドをモックする必要があります。ですから私はSingletonクラスのpublicメソッドとprivateメソッドを模倣する必要があります。 – sushil

関連する問題