Equalslifier не удастся на Lombok, сгенерированные equals и hashcode [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Equalslifier не удастся на Lombok, сгенерированные equals и hashcode [закрыто]

Сообщение Anonymous »

Я использую Lombok для генерации реализаций и hashcode . Я также закрепляю его, используя EqualsVerifier. < /P>
В одном из моих классов я использую < /p>
@EqualsAndHashCode(callSuper = true, of = {"e", "f"})
public class MyClass3 extends MyClass2
< /code>
i test < /p>
@Test
public void testEqualsAndHashCode() {
EqualsVerifier.simple()
.forClass(MyClass3.class)
.withOnlyTheseFields("a", "b", "c", "d", "e", "f")
.verify();
}
< /code>
Где A, B является частью класса1 и C, D является частью класса2. К сожалению, тест не удается с < /p>
java.lang.AssertionError: EqualsVerifier found a problem in class com.project.Class3.
-> equals throws MockitoException when field e is null.
< /code>
Я не понимаю поведения равных, так как E проверяется на NULL. Какие -нибудь подсказки? К сожалению, эта настройка работает. < /P>
@EqualsAndHashCode(of = {"a", "b"})
public class MyClass1 {
String a;
String b;
}

@EqualsAndHashCode(callSuper = true, of = {"c", "d"})
public class MyClass2 extends MyClass1 {
String c;
String d;
}

@EqualsAndHashCode(callSuper = true, of = {"e", "f"})
public class MyClass3 extends MyClass2 {
String e;
String f;
}
< /code>
вместе с этими тестовыми классами. < /p>
class MyClass1Test {
@Test
public void testEqualsAndHashCode() {
EqualsVerifier.simple()
.forClass(MyClass1.class)
.withOnlyTheseFields("a", "b")
.verify();
}
}

class MyClass2Test {
@Test
public void testEqualsAndHashCode() {
EqualsVerifier.simple()
.forClass(MyClass2.class)
.withOnlyTheseFields("a", "b", "c", "d")
.verify();
}
}

class MyClass3Test {
@Test
public void testEqualsAndHashCode() {
EqualsVerifier.simple()
.forClass(MyClass3.class)
.withOnlyTheseFields("a", "b", "c", "d", "e", "f")
.verify();
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... d-hashcode
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как переопределить Equals и HashCode в классах, сгенерированных Java протокола буфера [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как переопределить Equals и HashCode в классах, сгенерированных Java протокола буфера
    Anonymous » » в форуме JAVA
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • Как .equals и .hashCode объекта будут работать для моих классов?
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Почему мне нужно переопределить методы Equals и hashCode в Java?
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • При использовании Lombok 1.18.32 с Java 17 выдается ошибка: типы Lombok.Setter и Lombok.Setter недоступны.
    Anonymous » » в форуме JAVA
    0 Ответы
    107 Просмотры
    Последнее сообщение Anonymous

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