IntelliJ에서 테스트코드를 작성할 때, JUnit 과 AssertJ를 많이 사용한다.
그래서 둘의 특징을 한 번 살펴보려한다.
JUnit
📖 JUnit 이란?
자바 언어를 위한 단위 테스트 프레임워크.
(단위테스트 : 작성한 코드가 의도대로 작동하는지 작은 단위 (ex.메서드) 로 검증하는 것 )
📖 JUnit 특징
AssertJ
📖 AssertJ 란?
jUnit과 함께 사용하여 검증문의 가독성을 높여주는 라이브러리.
📖 AssertJ 특징
1) 가독성이 높다.
# JUnit
Assertions.assertEquals(a,b);
# AssertJ
assertThat(a).isEqualTo(b);
Junit 에서 제공하는 메서드를 사용한 코드를 보면, 어느것이 기댓값이고 어느것이 비교값인지 잘 구분이 되지 않는다.
지금은 이것이 별로 문제라고 생각되지 않을 수 있지만, 대규모 프로젝트를 진행하다보면 명확하지 않은 코드가 실수로 이어질 수 있기때문에 가독성을 높이는 것은 매우 중요한 문제라고 할 수 있다.
이러한 문제를 해결할 때, AssertJ 가 그 방법이 될 수 있다.
AssertJ 에서 제공하는 메서드를 사용한 코드를 보면, a가 비교값이고 b가 기댓값임을 쉽게 유추할 수 있다.
이와같이 AssertJ를 사용하면 가독성을 높일 수 있다.
✏ AssertJ는 다양한 메서드들을 제공한다. 다음은 자주 사용되는 메서드들이다.
2) 실패 메시지를 자세하게 보여준다.
실패 메시지를 자세하게 보여주기 때문에, 원인을 파악하는데 용이하다.
3) 다양한 검증 메서드를 제공한다.
JUnit은 비교적 간단한 메서드만을 제공해준다. 하지만, AssertJ 의 경우 다양한 메서드를 제공해주어 코드를 쉽게 작성할 수 있게 해주고, 가독성을 높여준다.
✨ 이 외에도 다양한 특징들이 존재한다. 앞으로 JUnit 과 AssertJ 의 특징을 정확히 알고 사용해야겠다!
✍️ 공부한 내용을 정리하는 공간이기 때문에, 정확하지 않은 사실이 들어갈 수 있습니다.
◼ 참고자료