Si vous codez en procédurale (et non en objets) vous employez probablement un anti-pattern qui s'appelle getter/setter, votre code est globalement séparé en de bonnes grosses couches techniques et ajouter une fonctionnalité consiste à ajouter sempiternellement le même type de code sur toutes les couches. #Boring
Subséquemment, vous avez probablement d'énormes grappes de structures de données que vous avez besoin de comparer récursivement durant vos tests.
Heureusement pour vous AssertJ est là et vous évitera d'avoir à coder proprement :
assertThat(actualObject)
.usingRecursiveComparison()
.isEqualTo(expectedObject);
Désolé pour le ton, mais c'est lourdingue de voir des ingénieurs proclamés "experts" qui au bout de 15/20 ans de métier ne font toujours pas la différence entre les paradigmes procédurale et objets. #Affligeant