为了测试我编写的私有方法之一,我需要模拟一个Singleton。
测试的几种方法与PowerMockito后:
PowerMockito.mockStatic(UtilDatabaseSoldeAutoCdeCommon.class);
Mockito.when(UtilDatabaseSoldeAutoCdeCommon.getInstance()).thenReturn(mockDatabase);
我从来没有嘲笑这一类。因此,在他们每个人的,我对数据库的访问我无法测试我的方法。
UtilDatabaseSoldeAutoCdeCommon被定义为这样的:
public class UtilDatabaseSoldeAutoCdeCommon extends AbstractUtilDatabase {
private static UtilDatabaseSoldeAutoCdeCommon instance;
private UtilDatabaseSoldeAutoCdeCommon() {
super();
}
public static UtilDatabaseSoldeAutoCdeCommon getInstance() {
if(instance == null) {
instance = new UtilDatabaseSoldeAutoCdeCommon();
}
return instance;
}
...
}
我调试powermockito时,它调用的getInstance(),但每次调用构造函数,它崩溃,因为它试图加载配置文件(该文件不存在)。
我精确该配置文件被定义为抽象父类UTI数据库Enrichissement的恒定和在构造函数中使用。
我怎么能测试这个部分?
PrepareForTest你嘲笑单身类