Java PowerMock-单例实例测试

Java PowerMock-单例实例测试,java,junit,mockito,powermock,powermockito,Java,Junit,Mockito,Powermock,Powermockito,如何模拟对象数据(单例额外返回结果),类singleton有一个静态方法getInstance,并且没有公共构造函数。我想测试逻辑部分,测试extraMethod,而不进行数据排序操作。如果您要监视测试中的类,并创建一个包级方法,返回单例,则可以不使用PowerMock。 您仍然需要设置调用sort方法时应该发生什么: 1)测试中的等级 public Data extraMethod(Data data) // interface Data { Data d = Singleton.ge

如何模拟对象数据(单例额外返回结果),类
singleton
有一个静态方法
getInstance
,并且没有公共构造函数。我想测试逻辑部分,测试
extraMethod
,而不进行数据排序操作。

如果您要监视测试中的类,并创建一个包级方法,返回
单例
,则可以不使用PowerMock。 您仍然需要设置调用
sort
方法时应该发生什么:

1)测试中的等级

public Data extraMethod(Data data) // interface Data
{
    Data d = Singleton.getInstance().sort(data.get() , "desc");
    //do something, logical
    return d;
}
2)测试

public Data extraMethod(Data data) // interface Data
{
    Data d = getSingleton().sort(data.get() , "desc");
    //do something, logical
    return d;
}

Singleton getSingleton(){
   return Singleton.getInstance();
}

如果您要监视测试中的类并创建一个包级方法,返回
Singleton
,那么就可以不用PowerMock。 您仍然需要设置调用
sort
方法时应该发生什么:

1)测试中的等级

public Data extraMethod(Data data) // interface Data
{
    Data d = Singleton.getInstance().sort(data.get() , "desc");
    //do something, logical
    return d;
}
2)测试

public Data extraMethod(Data data) // interface Data
{
    Data d = getSingleton().sort(data.get() , "desc");
    //do something, logical
    return d;
}

Singleton getSingleton(){
   return Singleton.getInstance();
}

您是否尝试模拟
Singleton.getInstance()
以使其返回您选择的对象?是否尝试模拟
Singleton.getInstance()
以使其返回您选择的对象?