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

时间:2018-03-05 08:47:00

标签: java unit-testing junit jmockit

我目前有以下课程:

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

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

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

任何想法都将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您不希望abstractTest公开,那么请测试调用abstractTest的方法。我还将类名更改为以大写字母开头。

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

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

    public void publicMethod() {
        abstractTest() 
    }

}

现在测试publicMethod:

public class PublicTest {

    private ClassForTesting classForTesting;

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

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