如何通过 Mockito 模拟超类中的方法?

how to mock methods in the superclass through Mockito?

我是 Mockito 框架的新手,在以下情况下被阻止了。 我有两个 classes A 和 B

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

我正在尝试在测试中模拟 prepare() class。尝试了不同的方法,其中 none 有效。谁能帮我解决如何在测试 class 中模拟 getHttpReq().getSession() 的问题。提前致谢

在您的测试中,不要直接实例化 B class,而是用 Mockito 间谍功能包装它:

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

然后你可以使用标准存根来实现你所需要的:

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