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

标签 java unit-testing junit jmockit

我目前有以下类(class):

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

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

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

任何想法将不胜感激。

谢谢!

最佳答案

如果您不希望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();
        ...
    }
}

关于java - JMockit:测试覆盖抽象方法的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49106473/

相关文章:

java - 在Gatling中增加控制台报告的时间

java - 在没有 spring security 的 spring mvc 4.2 中 session 超时后重定向到登录页面

java - 如何从驱动程序访问复制构造函数

java - 有没有办法让 "folded code"在 Android Studio 中保持折叠状态?

Python单元测试: how to run only part of a test file?

unit-testing - ssis 包中的单元测试数据流

python - python - 如何在python中使用nosetest/unittest断言输出?

java - JUnit/Mockito 测试用例在 Debug模式下通过但在运行模式下未通过

java - 资源访问异常 : I/O error on POST request

java - 通过ant脚本运行junit时在控制台上获取输出