문서의 이전 판입니다!
equals와 hashCode 메소드는 일반적으로 자동 생성하는 방식을 사용하는데 Java Code Coverage에서 매우 많은 커버리지를 깎아먹는 부분이다. 이에 equals와 hashCode에 대해 자동 테스트를 하여 커버리지를 높여주는 역할을 한다.EqualsVerifier이지만 hashCode까지 처리한다.EqualsVerifierExample이라는 Lombok @Data 애노테이션이 적용된 클래스가 있을 때@Test public void equalsContract() throws Exception { class SubEqualsVerifierExample extends EqualsVerifierExample { @Override public boolean canEqual(Object obj) { return false; } } EqualsVerifier.forClass(EqualsVerifierExample.class).suppress(Warning.NONFINAL_FIELDS).withRedefinedSubclass(SubEqualsVerifierExample.class).verify(); }