首页 > 解决方案 > 声纳中 InsufficientBranchCoverage 的 @SupressWarnnings 不起作用

问题描述

关于忽略声纳上新代码的覆盖范围,我已经完成了该线程中提到的步骤。例如在方法或类级别(方法/类的正上方)上添加@SuppressWarnings w/ff。句法。

@SuppressWarnings("common-java:InsufficientBranchCoverage")
@SuppressWarnings("InsufficientBranchCoverage")
@SuppressWarnings("java:InsufficientBranchCoverage")

然而,新代码的覆盖范围仍在声纳中报告。问题是,我已经达到了整个项目所需的最低代码覆盖率,如此屏幕截图所示。 在此处输入图像描述

因此,我不需要报告它。这发生在我编辑代码并删除项目中的空格和死代码时,恰好这里报告的代码部分没有被覆盖是我无法真正进行单元测试的东西。

下面是我的 pom 配置的片段。

 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- Sonar -->
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.5.0.1254</version>
            </plugin>
            <!-- Code Coverage Report -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.2</version>
                <executions>
                    <execution>
                        <id>pre-unit-test</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>agent-for-it</id>
                        <goals>
                            <goal>prepare-agent-integration</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-site</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>

                </configuration>
            </plugin>
        </plugins>
    </build>

我的配置或声明是否有问题,或者语法是否已被弃用?TIA。

PS:我已经试过了

this.method() //NOSONAR

@SuppressWarnings("all")

@SuppressWarnings("all") 仍在质量门中报告代码覆盖率。但它确实删除了整个类或方法中的其他警告。只是没有在扫描中报告新的代码覆盖率。

标签: javaspringsonarqube

解决方案


推荐阅读