Powermock - высмеивание супер вызова метода

Вот мой код -

import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.modules.junit4.PowerMockRunner;

import org.powermock.core.classloader.annotations.*;
import static org.powermock.api.support.SuppressCode.*;

class BaseService {
    public int save() {
        validate();
        return 2;
    }

    public static int save2() {
        return 5;
    }

    public void validate() {
        System.out.println("base service save executing...");
    }
}

class ChildService extends BaseService {
    public int save() {
        System.out.println("child service save executing...");
        int x = super.save2();
        int y = super.save();
        System.out.println("super.save returned " + y);
        load();
        return 1 + x;
    }

    public void load() {
        System.out.println("child service load executing...");
    }
}

@RunWith(PowerMockRunner.class)
@PrepareForTest(BaseService.class)
public class PreventSuperInvocation {

    @Test
    public void testSave() throws Exception {

        org.powermock.api.support.Stubber.stubMethod(BaseService.class,
                "save2", 4);
        suppressMethod(BaseService.class, "save");
        ChildService childService = new ChildService();
        System.out.println(childService.save());
    }

}

Я хотел бы издеватьсяsuper.save() вChildService учебный класс. Но я могу'не могу найти способ сделать это.suppressMethod() только подавляет и возвращает значение по умолчанию (0 в вышеприведенном случае). И такие вещи, как,MemberModifierStubberMethodProxy работают только для статических методов.

Есть ли способ сделать это в Powermock?

м с помощью Powermock 1.5 и Mockito 1.9.5.

Ответы на вопрос(1)

Ваш ответ на вопрос