在我的Java项目中,我有很多类似这样的代码气味:
ThreadPoolExecutor#execute
我的Future
坐在@Data
public class Foobar extends Foo {
private String baz;
}
旁边,看起来像:
lombok.config
这显示了代码覆盖率编号,但尚未清除代码气味。
似乎我不是遇到此问题的only人。
在版本方面:
我已经看到了一些类似的问题,但是它们都是5岁左右,所以我认为答案仍然有效。
答案 0 :(得分:0)
几个月前,我也遇到了同样的问题。我的jacoco版本是0.8.2,而lombok是v1.16.16。我记得在项目的根目录下添加lombok.config后问题消失了。 请注意,如果您为已经标记为Data的类定义了自己的构造函数,那么覆盖率将根据调用测试的构造函数的数量来计算。
如果这没有帮助。您可以通过在Jacoco配置/ SonarQube配置中排除它们来找到解决方法
在jacoco中排除的示例:
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.2</version>
<configuration>
<excludes>
<exclude>**/your_class_path/**</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<!-- attached to Maven test phase -->
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
对于SonarQube,可以在调用mvn sonar:sonar时使用-Dsonar.inclusions参数进行包含,并使用-Dsonar.exclusions参数