java 项目中的类型声明是代码覆盖率信息的一部分吗?

Are type declarations part of the code coverage information in java projects?

我不熟悉 java 项目中的代码覆盖率收集,我有一个任务,我应该描述 python 和 java 中的代码覆盖率之间的区别。

根据我的理解,在python中,所有的类型声明如方法定义和class定义等都是覆盖信息的一部分(每次被测试用例执行) .但是,在 java 中,只有语句是覆盖信息的一部分,对吗?

例如,从下面的代码片段中,只有语句 assert(false) 将被测试用例覆盖,据我所知,类型声明 public class App extends SuperNew 将不会被覆盖 super[ 中的唯一语句=28=] 是覆盖信息的一部分,而 python.

中并非如此

示例:

public class SuperNew {

    public void magic() {
        assert(false);
    }
}

public class App extends SuperNew {

}

public class Testapp {

    @Test
    public void testApp() 
        new App().magic();
    }
}

方法声明未执行,也已通过编译器验证。 -> 不,Java 代码覆盖工具不考虑声明的“执行”。

在 Python 中更有意义,因为没有编译器检查声明,它们只会在运行时检查。