Probleme mit CodeCoverage und Lombok Equals

jCoder1984

Aktives Mitglied
Hallo ich möchte meinen Code durch Unit Tests absichern. Um eine Code Coverage zu bekommen nutze ich das Eclipse Plugin Emma.

Hier meine Beispiel Klasse :

Java:
@RequiredArgsConstructor
@Getter
@EqualsAndHashCode(exclude = { "memberService", "teamService" })
@ToString(exclude = { "memberService", "teamService" })
public class UserClub implements Club {

    @NonNull
    @Setter
    private String name;
    private final Service<? extends Member> memberService = new UserMemberService();
    private final Service<? extends Team> teamService = new ImporterTeamService();
}

Und hier mein Test zu dieser Klasse :
Java:
@Slf4j
public class UserClubTest extends TestCaseBase {

    private UserClub club;

    @Before
    public void setup() {
    club = new UserClub(clubName);
    }

    @Test
    public void testConstructor() {
    log.info("check all fields.");

    Assert.assertNotNull(club.getName());
    Assert.assertEquals(clubName, club.getName());

    Assert.assertNotNull(club.getMemberService());

    Assert.assertNotNull(club.getTeamService());

    Assert.assertNotNull(club.toString());
    log.debug("create the {}", club.toString());
    }

    @Test(expected = NullPointerException.class)
    public void testConstructorInvalidParameterName() {
    log.info("check that a NullPointerException occured  for constructor with invalid parameter [name]");

    new UserClub(null);
    }

    @Test
    public void testSetName() {
    log.info("check that the name can be changed.");

    String newName = "newName";
    club.setName(newName);
    Assert.assertEquals(newName, club.getName());

    log.debug("club with new name {}", club);
    }

    @Test(expected = NullPointerException.class)
    public void testSetNameWithInvalidParameter() {
    log.info("check that a NullPointerException occured during setting a NULL object as name.");

    club.setName(null);
    }

    @Test
    public void testEquals() {
    UserClub club = new UserClub(clubName);

    log.info("check that the two club objects are equals");
    UserClub club2 = new UserClub(clubName);
    log.debug("create the {}", club2.toString());
    Assert.assertTrue(club.equals(club2));
    Assert.assertTrue(club.hashCode() == club2.hashCode());

    log.info("check that the two club objects are not equals because of a different name");
    UserClub club3 = new UserClub("newclubName");
    log.debug("create the {}", club3.toString());
    Assert.assertFalse(club.equals(club3));
    Assert.assertFalse(club.hashCode() == club3.hashCode());

    log.info("check that the two club objects are not equals because of a NULL object");
    Assert.assertFalse(club.equals(null));
    }
}

In der Code Coverage sind alle Methoden auf 100% bis auf hashCode und equals. Ich bin nun etwas ratlos. Kann mir jemand einen Tipp geben?

Vielen Dank
 

Zurück
Oben