JMockit:测试覆盖抽象方法的方法

JMockit: Testing Methods that override an Abstract Method

我目前有以下类:

public abstract class superClass {
    abstract void abstractTest();
}

public class classForTesting extends superClass {
    @Override
    void abstractTest() {
        ...
    }
}

我目前正在为 classForTesting 编写单元测试(使用 JUnit + JMockit),但我不确定如何测试 abstractTest()。我尝试模拟超类,但我仍然无法调用 abstractTest()。

任何想法将不胜感激。

谢谢!

如果你不想让abstractTest成为public,那就测试调用abstractTest的方法。我还更改了 class 名称以大写字母开头。

public abstract class SuperClass {
    abstract void abstractTest();
}

public class ClassForTesting extends SuperClass {
    @Override
    void abstractTest() {
        ...
    }

    public void publicMethod() {
        abstractTest() 
    }

}

现在测试public方法:

public class PublicTest {

    private ClassForTesting classForTesting;

    @Before
    public void setUp(){
        classForTesting = ClassForTesting();
    }

    @Test
    public void testMethod() {
        classForTesting.publicMethod();
        ...
    }
}