我有一个这样的类是弹簧安全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(...);
我只是不想在测试期间调用超类方法。 但它不起作用,每次它进入超级类,而不仅仅是按照我的期望重新转动"用户"。 任何人都可以指出,为什么我无法存根?
您需要存储 spy(object)
方法的结果。传入的对象不变,间谍是返回的对象。
CustomRememberService spy = Mockito.spy(customeCoreRememberService);
Mockito.doReturn(user).when(spy).processAutoLoginCookie(...);