如何通过 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()
我是 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()