SonarQube说"测试覆盖(4个条件中的3个)"在空检查

时间:2017-11-07 22:50:09

标签: java sonarqube

我对FileInputStream对象进行了空检查,SonarQube在该块的第一行说:

if (fileInputStream != null) {
    try {
        fileInputStream.close();
    } catch (IOException ioe) {}
}

仅(我引用):"测试涵盖(4个条件中的3个)"

这个世界怎么会有4个条件? 我只能看到两个条件:对象是否为空。 任何人都可以发布其他2个条件吗? 我用java 8。 有没有办法取悦声纳?解决方法?任何东西。

更新:我删除了if语句并用

替换了整个if块
org.apache.commons.io.IOUtils.closeQuietly(fileInputStream);

检查null并使Sonar满意。

2 个答案:

答案 0 :(得分:0)

我想知道close()和finalized()方法吗?

答案 1 :(得分:0)

从Sonar 7.0和Jacoco 6.5开始,现在可以使用try with resources作为比

更优雅的解决方案
org.apache.commons.io.IOUtils.closeQuietly(fileInputStream);