Skip to content

week-4-day-2-report주차 week-4-day-2-report일차 일일보고서

날짜: 2025년 07월 08일

테스트 케이스 작성과 실행 - 안전한 코드 만들기

어제 만든 TodoCsvRepository에 대한 테스트 케이스를 작성하는 시간이었다. 주 강사가 JUnit의 기본 사용법을 설명하는 동안, 실습 강사로서 학생들이 첫 테스트를 작성하도록 도왔다.

@Test 어노테이션을 처음 보는 학생들이 많았다. “이게 어떻게 실행되는 건가요?”라는 질문에 테스트 프레임워크의 동작 원리를 간단히 설명했다.

CSV 파일로 데이터를 저장하고 읽는 과정에서 다양한 문제가 발생할 수 있음을 보여주었다. 특히 할 일 제목에 쉼표나 따옴표가 포함된 경우, 파일이 손상된 경우 등을 테스트했다.

중요한 이슈가 하나 발생했다. 메모리에 로드된 데이터를 삭제해도 실제 CSV 파일에는 반영되지 않는 문제였다. 학생들과 함께 디버깅하며 파일 동기화의 중요성을 배웠다.

IntelliJ의 디버깅 기능을 다시 한 번 복습했다. 테스트가 실패할 때 브레이크포인트를 설정하고 변수 값을 확인하며 문제를 찾아가는 과정을 연습했다.

8개의 핵심 테스트 케이스를 작성했다. 정상 케이스뿐만 아니라 예외 상황도 테스트하는 것이 중요함을 강조했다.

  • 테스트를 왜 작성해야 하는지 의문. 버그를 미리 발견하고 리팩토링 시 안전망 역할 설명.
  • assertEquals가 뭔지 모르겠다는 질문. 예상값과 실제값을 비교하는 assertion 메서드 설명.
  • CSV 파일의 특수문자 처리가 복잡하다는 의견. 실무에서도 흔한 문제임을 설명하고 해결법 제시.
  • 테스트 케이스 이름을 어떻게 지어야 하는지 질문. 한글로 명확하게 작성하는 것도 좋다고 조언.

테스트 작성은 개발자의 필수 역량이다. 처음에는 번거로워하던 학생들도 테스트가 잡아낸 버그를 보고는 그 중요성을 인정했다.

CSV 파일 처리에서 발생하는 실제적인 문제들을 경험한 것이 좋았다. 단순해 보이는 기능도 엣지 케이스를 고려하면 복잡해진다는 것을 배웠다.

테스트를 작성하는 습관을 들이는 것이 중요하다. TDD까지는 아니더라도 최소한의 테스트는 작성하도록 계속 강조해야겠다.

  • 테스트 케이스 작성 가이드라인 문서 준비
  • Mockito 같은 모킹 프레임워크는 나중에 소개
  • 테스트 커버리지 개념 설명 예정