Ответ 1
Невозможно сначала запустить delombok над тестируемым кодом, скомпилировать его, а затем применить инструмент Cobertura?
Раскрытие информации: Я являюсь одним из разработчиков Project Lombok
Настроить cobertura для игнорирования определенных блоков кода
Из того, что я прочитал из вышеизложенного, в Кобертуре нет способа исключить данную часть кода из теста и иметь покрытие в тестах.
Это правда?/Возможно ли это в любом другом инструменте?
Я использую Lombok аннотации @Getter
, @Setter
и т.д., которые являются большими, но они приводят к тому, что они являются "красными" в отчете о покрытии, m test getter и setter methods. - Я хотел бы что-то сделать с этим... Есть ли способ исправить это?
Невозможно сначала запустить delombok над тестируемым кодом, скомпилировать его, а затем применить инструмент Cobertura?
Раскрытие информации: Я являюсь одним из разработчиков Project Lombok
Ломбок добавляет аннотацию @javax.annotation.Generated
(1). Но у этой аннотации есть source
удержание, т.е. Ваш инструмент охвата больше не видит этого: - (
Lombok 1.16.14 только что зафиксировал issue-1014, добавив вариант для генерации аннотации @lombok.Generated
; просто настройте lombok.addLombokGeneratedAnnotation
(2).
Cobertura может быть сконфигурирован для пропуска методов с некоторой аннотацией, поэтому большая часть сгенерированного кода не будет учитывать ваш охват.
JaCoCo не предоставляет механизм конфигурации для пропуска некоторых аннотаций. Проблема-15 пытается исправить это (и многое другое) без какой-либо конфигурации.
(1) Если не отключен с lombok.addGeneratedAnnotation
, который теперь устарел и должен быть заменен на lombok.addJavaxGeneratedAnnotation
(2) см. lombok config
(3) см. этот комментарий
В моем случае добавление зависимостей lombock в pom.xml приводит к тому, что cobertura снижает охват Branch Coverage на 70% при удалении, что привело к тому, что Netbeans объявили код как сломанный, поскольку не определено аксессор.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.14.4</version>
<scope>provided</scope>
</dependency>
изменить Решение состояло в том, чтобы понизить лоббок. У этой версии были проблемы с текущими конфигурациями сонара. Но я не отвечаю за эти конфиги, поэтому я не понимаю, почему.