Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Mockito spy doReturn无法使用超类方法_Java_Junit_Mockito - Fatal编程技术网

Java Mockito spy doReturn无法使用超类方法

Java Mockito spy doReturn无法使用超类方法,java,junit,mockito,Java,Junit,Mockito,我有一个这样的类,它是spring security的子类CoreMemberService public class CustomRememberService extends CoreRememberMeService`{ @Override Authentication autoLogin(....) { // ... user = processAutoLoginCookie(....) //this method is in super c

我有一个这样的类,它是spring security的子类
CoreMemberService

public class CustomRememberService extends CoreRememberMeService`{

    @Override Authentication autoLogin(....) {
         // ...
         user = processAutoLoginCookie(....) //this method is in super class
    }
当我试图运行我的JUnit时,我需要像“processAutoLoginCookie”一样存根这个超类

Mockito.spy(customeCoreRememberService);    
Mockito.doReturn(user).when(customeCoreRememberService).processAutoLoginCookie(...);

我只是不想在测试期间调用超级类方法。但它不起作用,每次它进入超级类,而不是按照我的期望重新启动“用户”。任何人都可以指出,为什么我不能存根呢?

您需要存储该方法的结果。传入的对象未更改,spy是返回的对象

CustomRememberService spy = Mockito.spy(customeCoreRememberService);
Mockito.doReturn(user).when(spy).processAutoLoginCookie(...);

谢谢,这对我来说并不明显!我以为被监视的物体会受到影响。现在我明白了到底发生了什么。