Как издеваться над супер-вызовом метода класса «бабушка и дедушка» в Java? - PullRequest
0 голосов
/ 16 апреля 2020

Я сделал это с PowerMockito (и мне пришлось изменить @RunWith (MockitoJUnitRunner.class) на @RunWith (PowerMockRunner.class), чтобы заставить это работать), но когда я добавил другой сценарий doReturn ios код прошел в режиме отладки, но не удалось запустить. поэтому я хочу сделать это с Мокито.

public abstract class AbstractService{
       public int countEntity(ReportFilter reportFilter) {
        return doSth();
}

public abstract class AbstractFilterableService extends AbstractService{
}

public class BrandPageService extends AbstractFilterableService{
 public int count(BrandPageFilter filter) {
        return super.countEntity(filter(filter));
    }
}

Я пытался ответить на похожие вопросы, но ни один из них не работал. 1. поддерживает ли Mockito это? если да, то как мне это сделать? 2. в чем проблема с PowerMockRunner?

между прочим, когда служба отслеживается. вот тест:

 BrandPageFilter filter = new BrandPageFilter();

        doReturn(REPORT_FILTER).when(service).filter(filter);

        doReturn(5).when((AbstractService<BrandPageEntity,BrandPageDao>)service).countEntity(any(ReportFilter.class));
        int actual= service.count(filter);
        assertEquals(LENGTH,actual); 
...