我有一个类就是spring security CoreRememberMeService
的子类。
public class CustomRememberService extends CoreRememberMeService`{
@Override Authentication autoLogin(....) {
// ...
user = processAutoLoginCookie(....) //this method is in super class
}
当我尝试运行我的JUnit时,我需要存根这个超类metod' processAutoLoginCookie'喜欢
Mockito.spy(customeCoreRememberService);
Mockito.doReturn(user).when(customeCoreRememberService).processAutoLoginCookie(...);
我只是不想在测试期间调用超类方法。但它不起作用,每次进入超级课程而不仅仅是重新使用用户'按照我的期望。任何人都可以指出,为什么我不能存根?
答案 0 :(得分:3)
您需要存储spy(object)
方法的结果。传入的对象不变,间谍是返回的对象。
CustomRememberService spy = Mockito.spy(customeCoreRememberService);
Mockito.doReturn(user).when(spy).processAutoLoginCookie(...);