Mockito间谍doReturn不适用于超类方法



我有一个这样的类是弹簧安全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(...);

相关内容

  • 没有找到相关文章

最新更新