我有以下设置:
要测试的类:SeriesOffset
扩展BaseDisplayOption
测试类:SeriesOffsetTest
在创建SeriesOffset
类的对象以对其进行测试时,其构造函数会进行超级调用,然后进行以下方法调用:
logger = LoggingService.getLog(this.getClass());
whereLoggingService
是一个抽象类,getLog(Class<?> clazz)
是一个带有泛型类参数的静态方法。这个方法调用需要被模拟。我用一个名为的类创建了一个模拟实现,ILogImpl
这就是我试图测试它的方式:
ILogImpl a = new ILogImpl();
PowerMockito.mockStatic(LoggingService.class);
PowerMockito.when(LoggingService.getLog( SeriesOffset.class)).thenReturn(a);
但是这种方法似乎不起作用,它调用了真正的实现,而不是我需要它调用的模拟实现。错误跟踪如下:错误跟踪