AssertJ는 JUnit과 함께 사용해 검증문의 가독성을 확 높여주는 라이브러리입니다.
이를테면 앞서 작성한 테스트 코드의 Assertion은 기댓값과 실제 비교값을 명시하지 않으므로 비교 대상이 헷갈립니다.
예를 들어 다음 코드를 보면 기댓값과 비교값이 잘 구분되지 않습니다.
기댓값과 비교값이 잘 구분되지 않는 Assrtion 예
Assertions.assertEquals(sum, a + b);
큰 문제라고 생각하지 않을 수 있겠지만
대규모 프로젝트에서는 조금 더 명확한 모습의 코드가 실수를 줄일 수 있어 이런 가독성은 꽤 중요한 문제다.
가독성이 좋은 AssertJ 예
assertThat( a + b ).isEqualTo( sum );
이 경우 a와 b를 더한 값이 sum과 같아야 한다는 의미로 명확하게 읽히기 때문에 코드를 읽는 사람이 헷갈리지 않습니다..
AssertJ에는 값이 같은지 비교하는 isQualTo(), isNotEqualTo() 외에도 다양한 메서드를 제공합니다. 자주 사용하는 메서드를 표로 정리해두었으니 읽어보기 바랍니다.
메서드이름 | 설명 |
---|---|
isEqualTo(A) | A 값과 같은지 검증 |
isNotEqualTo(A) | A 값과 다른지 검증 |
contains(A) | A 값과 포함하는지 검증 |
doesNotContain(A) | A 값과 포함하지 않는지 검증 |
startsWith(A) | 접두사가 A인지 검증 |
endsWith(A) | 접미사가 A인지 검증 |
isEmpty() | 비어 있는 값인지 검증 |
isNotEmpty() | 비어 있지 않은 값인지 검증 |
isPositive() | 양수인지 검증 |
isNegative() | 음수인지 검증 |
isGreaterThan(1) | 1보다 큰 값인지 검증 |
isLessThan(1) | 1보다 작은 값인지 검증 |