코드 리뷰는 내 코드가 올바른지 리뷰어를 설득하는 과정이라고 생각합니다.
그렇다면 올바른, 잘 짜여진 코드는 어떤 코드일까요? 제 생각에는 다음과 같은 코드가 잘 짜여진 코드라고 생각합니다.
잘 짜여진 코드의 두 번째 기준인 에러 없이 의도한 기능이 구현된 코드를 구현하기 위해 여러 개발자들은 테스트 코드를 작성합니다. 우리는 테스트 코드를 통해 내가 짠 코드가 정상적으로 동작함을 리뷰어들에게 알릴 수 있으며, 여러 상황을 만들어 오류에 대비할 수 있습니다.
오늘 공유할 내용은 Spring 개발자로서 테스트 코드를 작성할 경우 대표적으로 많이 사용하고 있는 Junit5에 대해 설명하고자 합니다.
junit은 자바 프로그래밍 언어용 유닛 테스트 프레임워크입니다.
유닛 테스트란, unit이라는 단어의 뜻처럼 최대한 작은 단위로 테스트를 진행해 작성한 코드가 의도된 대로 잘 동작하는지 검증하는 절차를 의미합니다.
Junit은 현재 5번째 버전을 제공할만큼 많은 개발자들이 사랑하고 있는 테스트 프레임워크로 다양한 테스트 기능 및 테스트 환경을 지원해주고 있습니다.
우리는 가장 최신 버전인 junit5에 대해 알아보는 시간을 가질 예정입니다.
공식 가이드는 다음 링크를 통해 확인이 가능합니다.
https://junit.org/junit5/docs/current/user-guide/junit-user-guide-5.9.1.pdf
이 중, 대표적으로 알아야 될 부분들에 대해 목록화 하면 다음과 같습니다.(굉장히 주관적)
읽으실 분들은 차근차근 읽어나가시는 것을 추천드립니다.
2.6. Assumptions
2.8.6. Custom Conditions
2.10. Test Execution Order
2.12. Nested Tests
2.15. Repeated Tests
2.16. Parameterized Tests
2.20.2. Synchronization
3.2. Migration Tips
3.3. Limited JUnit 4 Rule Support
3.4. JUnit 4 @Ignore Support
3.5. Failure Message Arguments
4.2.2. Maven
5.2. Registering Extensions
5.16.2. Wrapping Behavior of Callbacks
다음 장에서는 Junit5 에 대한 설명과 Junit4와의 비교를 진행할 예정이며, 어떤 기능들을 중점적으로 확인해야 되는지 알아보는 시간을 가져보겠습니다.