본문 바로가기
개발/Java

[Java] 자바로 테스트 코드 작성 순서 알아보기

by devhooney 2023. 7. 24.
728x90

최범균님의 '테스트 주도 개발 시작하기'를 읽으면서 정리해본 글.

 

1. 초반에 복잡한 테스트부터 시작X

초반부터 다양한 조합을 검사하는 복잡한 상황을 테스트로 추가하면 해당 테스트를 통과시키기 위해 한 번에 구현해야 할 코드가 많아진다.

 

2. 구현하기 쉬운 테스트부터 시작하기

구현하기쉬운 경우부터 시작하면 빠르게 테스트를 통과시킬 수 있다. 보통 수 분에서 십여 분 이내에 구현을 완료해서 테스트를 통과시킬 수 있을 만큼 쉬운 것을 선택한다.

 

3. 예외 상황을 먼저 테스트

다양한 예외 상황은 복잡한 if-else 블록을 동반할 때가 많다. 예외 상황을 전혀 고려하지 않은 코드에 예외 상황을 반영하려면 코드의 구조를 뒤집거나 코드 중간에 예외 상황을 처리하기 위해 조건문을 중복해서 추가하는 일이 벌어진다. 이는 코드를 복잡하게 만들어 버그 발생 가능성을 높인다.

 

초반에 예외 상황을 테스트하면 이런 가능성이 줄어든다. 예외 상황에 따른 if-else 구조가 미리 만들어지기 때문에 많은 코드를 완성한 뒤에 예외 상황을 반영할 때보다 코드 구조가 덜 바뀐다.

 

4. 지속적인 리팩토링

테스트를 통과한 뒤에는 리팩토링을 진행한다. 매번 리팩토링을 진행해야 하는 것은 아니지만 적당한 후보가 보이면 리팩토링을 진행한다. 코드 중복은 대표적인 리팩토링 대상이다. 코드가 길어지면 메서드 추출과 같은 기법을 사용해서 메서드 이름으로 코드의 의미를 표현할 수 있다.

 

 

728x90