nom*_*mer 5 java jacoco jacoco-maven-plugin
我如何inputStream.close()从pom.xml或Java代码中的jacoco代码覆盖率中排除?
public void run() {
InputStream inputStream = null;
try {
inputStream = fileSystem.newFileInputStream(file);
}
finally {
if(inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Goo*_*Dok 10
目前,无法排除特定行(请参阅链接):
截至今天,JaCoCo 核心仅适用于类文件,没有源处理. 这将需要对架构进行重大改造,并增加额外的配置麻烦。
这意味着,Jacoco 会分析您程序的字节码,而不是您的源代码,因此它不能使用诸如 comments 之类的提示。
按照相应的问题来跟踪此类功能实现的状态。
作为一种解决方法,您可以将其放入一个单独的方法中,但是请注意,当您更改代码只是为了达到 100% 的覆盖级别时,这是一种难闻的气味。
我怀疑您真正的目标是 100% 的覆盖率。考虑使用 try-with-resources 块重写代码。例如:
try (final InputStream inputStream = new FileInputStream(file)){
//work with inputStream; auto-closes
}
catch (final Exception ex){
//handle it appropriately
}
Run Code Online (Sandbox Code Playgroud)