没有测试方法的子类运行JUnit测试覆盖

时间:2018-05-08 19:50:14

标签: java intellij-idea junit

如果我有一个定义JUnit测试方法的任意类,以及一个覆盖测试行为而不是实际测试方法本身的子类,是否可以直接在IntelliJ中运行ChildClass测试?

class ParentClass
{
    @Test
    public void testSomeBehavior()
    {
        doTest();
    }

    protected void doTest()
    {
        // ParentClass specific behavior
    }
}

class ChildClass extends ParentClass
{
    @Override
    protected void doTest()
    {
        // ChildClass specific behavior
    }
}

我目前的工作是在类级别(ChildClass)启动运行,终止运行,然后从Run / Debug屏幕手动选择我的测试。但这并不理想。

我知道如果我的父类被定义为抽象,那么IntelliJ将给出一个可以运行给定测试的可能实现类的列表。但是当父类是可实例化的时候,我没有看到这个选项。

1 个答案:

答案 0 :(得分:0)

我不明白你为什么要这样做...... 不推荐。但是如果你有兴趣使用JUNIT5创建嵌套测试,也许你可以使用这个文档。

https://junit.org/junit5/docs/current/user-guide/#writing-tests-nested