как издеваться над методами в суперклассе через Mockito? - PullRequest
0 голосов
/ 19 сентября 2019

Я очень плохо знаком с платформой Mockito и получил блокировку в следующем сценарии.У меня есть два класса A и B

Class A{
    public HttpServletRequest getHttpReq() {
          return httpReq;
    }
}
Class B extends A{
     public void prepare() throws Exception{
        HttpSession session = getHttpReq().getSession();
     }
}

Я пытаюсь смоделировать prepare () в тестовом классе.Пробовал разные способы и ни один из них не работает.Может кто-нибудь, пожалуйста, помогите мне в том, как смоделировать getHttpReq (). GetSession () в тестовом классе.Заранее спасибо

1 Ответ

1 голос
/ 19 сентября 2019

В своем тесте вместо непосредственного создания экземпляра класса B оберните его функцией шпионажа Mockito:

B b = Mocktio.spy(new B());

Затем вы можете использовать стандартную заглушку для достижения того, что вам нужно:

doReturn(new HttpServletRequest()).when(b).getHttpReq()
...