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 中更有意义,因为没有编译器检查声明,它们只会在运行时检查。
我不熟悉 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 中更有意义,因为没有编译器检查声明,它们只会在运行时检查。