在这里我问了一个问题:
Lombok, use only getter setter not equals or tostring
我不想在那儿发表评论,因为它已经很老了。
我想要的是,我希望在覆盖inteljidea
和sonar.
的过程中忽略由lombok生成的代码
作为我之前链接的问题的建议,我添加了
config.stopBubbling = true
lombok.addLombokGeneratedAnnotation = true
我将此添加到根目录,然后重建恢复。
但是对于那个班
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(parent = BaseApiResponse.class)
public class SaveObligation extends Base{
@ApiModelProperty(required = true)
List<LegalObligationDTO> legalObligations;
public SaveLegalObligatione(String id, List<LegalObligationDTO> legalObligations) {
super(id, true);
this.legalObligations = legalObligations;
}
}
inteljidea shows all green (which means covered) except those lines:
@Data
@EqualsAndHashCode(callSuper = true)
我猜是因为龙目岛。
我该怎么办?
我也尝试过
config.stopBubbling = true
lombok.addJavaxGeneratedAnnotation = true
lombok.addLombokGeneratedAnnotation = true
对于intelj,我不会使用其他工具。它自己的报道。
顺便说一下,intelj
就是这样。但是代码也将要声纳,所以analysed
也将有coverage
。
这是buildgradle
compileOnly 'org.projectlombok:lombok:+'
答案 0 :(得分:0)
Lombok在编译时工作。 有关详细信息,请参见Here
因此字节码已经包含Lombok生成的转换。
另一方面,覆盖工具通常在运行时执行字节码操作。
因此,将Lombok配置为在覆盖范围内排除某些代码没有任何意义,而是取决于您选择的覆盖范围工具。
Sonar通过收集覆盖工具生成的报告并将其发送到Sonar服务器,在以后阶段工作。
因此,我认为您应该检查是否可以配置代码覆盖率工具。
话虽如此,可能应该在单元测试中调用此代码-隐式而不是直接地,我不建议对lombok生成的代码进行单元测试。