使用Powermock测试Singleton对象的方法

时间:2016-12-23 06:15:51

标签: singleton powermockito

我想测试一个公共方法1以及模拟Singleton类的私有方法createJSON。

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

}

有人可以为此提供帮助吗?

1 个答案:

答案 0 :(得分:0)

听起来你需要部分模拟。部分模拟将允许您模拟您正在使用的类的方法的子集,但不能模拟其他类。

This SO post解释了如何使用部分模拟。