Сгенерированный Lombok код нельзя игнорировать при покрытии - PullRequest
0 голосов
/ 10 октября 2018

Здесь я задал вопрос:

Ломбок, используйте только установщик геттера, не равно или tostring

Я не хотел комментировать там, потому что он был очень стар.

Я хочу, чтобы код, сгенерированный lombok, игнорировался при освещении inteljidea, а также sonar.

Как совет в моем предыдущем вопросе, который я связалЯ добавил это

config.stopBubbling = true
lombok.addLombokGeneratedAnnotation = true

Я добавил это в root, затем восстановил восстановленный.

Но для этого класса

@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 показывает вот так.Но также код собирается в sonarqube, поэтому также будет analysed для coverage.

Это buildgradle

    compileOnly 'org.projectlombok:lombok:+'

1 Ответ

0 голосов
/ 10 октября 2018

Ломбок работает во время компиляции.Для получения дополнительной информации см. Здесь , например

Так что байт-код уже содержит преобразования, сгенерированные Lombok.

Инструменты покрытия, с другой стороны, обычно работают во время выполнения, выполняя манипуляции с байт-кодом).

Таким образом, не имеет смысла настраивать Lombok для исключения определенного кода из покрытия, а скорее зависит от выбранного вами инструмента покрытия.

Сонар работает на более позднем этапесбор отчетов, созданных инструментами покрытия, и отправка их на сервер Sonar.

Поэтому я думаю, вам следует проверить, можно ли настроить инструмент покрытия кода.

Сказав, что, вероятно, этот код долженбыть вызванным в модульных тестах - неявно, а не напрямую, я не предлагаю модульное тестирование кода, сгенерированного lombok.

...