Покрытие тестами ниже при использовании Lombok @BuilderJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Покрытие тестами ниже при использовании Lombok @Builder

Сообщение Anonymous »

У меня возникла проблема с тестовым покрытием с помощью аннотации @Builder Lombok.
У меня есть класс Java, аннотированный @Data Lombok, @AllArgsConstructor и @NoArgsConstructor:

Код: Выделить всё

import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
}
и тестовый пример JUnit:

Код: Выделить всё

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class UserTest {
@Test
void test() {
assertNotNull(new User());
}

}
Мой lombok.config настроен таким образом, что тестовое покрытие игнорируется в сгенерированном коде:

Код: Выделить всё

config.stopBubbling = true
lombok.addLombokGeneratedAnnotation=true
IntelliJ показывает покрытие класса тестами «100 % (0/0)». Это ожидаемо, поскольку весь код, сгенерированный Lombok, игнорируется.
Изображение

Когда я добавляю аннотацию @Builder к классу User, в отчете о покрытии отображается «0% (0/1)»:

Код: Выделить всё

import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.Builder;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class User {
private int id;
private String name;
}
Изображение

Тестирование компоновщика с помощью AssertNotNull(User.builder().build()) не меняет тестовое покрытие.
Я использую следующую конфигурацию:
  • Lombok 1.18.34
  • Junit Jupiter 5.10.3
  • IntelliJ IDEA Ultimate 2024.2 .1
Почему покрытие меняется при добавлении новой аннотации ломбок?
Как получить «100» % (0/0)" с помощью @Builder ?
Полный проект для воспроизведения проблемы:
https://github.com/jkronegg/lombok -builder-покрытие

Подробнее здесь: https://stackoverflow.com/questions/789 ... ok-builder
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»