怎么用PowerMock来Mock单例
大家好:
我在做单元测试的时候,遇到了调用其他模块的一个单例的方法,想用PowerMock mock一下这个类,预计单例类方法的返回至,但一直不成功,请各位大神帮忙看一下:
单例类:
public class DealData {
private DealData() {
}
public static DealData instance = new DealData();
public static DealData getInstance() {
return instance;
}
public String deal(String input) {
return null;
}
}
业务调用类:
public class DealService {
public String dealData(String input) {
return input + DealData.getInstance().deal("OK");
}
}
测试类:
@Test
public void testDealData1() {
DealData dealData = PowerMock.createMock(DealData.class);
EasyMock.expect(dealData.deal("OK")).andReturn("world");
PowerMock.replayAll();
DealService dealService = new DealService();
String result = dealService.dealData("Hello");
assertEquals("HelloWorld", result);
}
无论怎么Mock,都说单例类的deal方法返回为null
请大家帮忙看一下,谢谢