https://thiswooin.tistory.com/71
그동안 테스트코드의 중요성에 대해서 너무나 많이 익히 들어왔다.
하지만 이전 TIL에도 적혀있듯 테스트코드의 어설픈 실습과 스프링 환경에서의 Bean객체에 대한 어색함 때문에 굉장히 여러 지식들이 혼잡하게 섞여있다.
지난 번 리팩토링 과제에서 테스트코드를 제대로 수행해내지 못 했고, 마음 속 과제로 남아있었다.
그래서 이번 팀과제에서 테스트 코드 파트를 도맡았고, 이에 튜터님에게도 공부하기 전 코멘트를 들을 수 있었고
이제 공부한 기록들을 남겨보려 한다.
현재 상황
- 여러 어노테이션들이 너무 헷갈리게 섞여있음.
- JUnit, Mockito를 동시에 배우다가 어설프게 섞였음.
- TDDMockito까지 해보려다 더 엉킴.
- 스프링환경에서의 세팅의 특수성에 당황스러움. 빈객체 다루기.
- Mock객체에 대한 이해 부족
튜터님의 코멘트
- TDD를 지향하고 개발을 직접 해봐라.
: 물론 현업에서도 100% 힘들수도 있지만 이걸 지향하는 것과 처음부터 타협하는 것은 다르다. - 우선 단위테스트 먼저 공부를 하고, 통합테스트는 이후에 도전하자.
- 자주 쓰이는 어노테이션이 몇개 있고, 우선 사용하다보면 특수한 케이스에 필요한 어노테이션은 없을까 하는 시점이 온다. 그 때 심화학습하는 것이 자연스러울 것이다.
- 테스트용 DB에 대한 고민도 필요하다. (h2 인메모리의 예시를 들음)
- 요즘은 가독성 측면에서 BDDMockito를 사용하기도 한다.
- 성공한 케이스만 테스트하는 것이 아닌 발생할 수 있는 모든 케이스를 처리해야 한다.
테스트 커버리지라는 용어도 이 때 등장. 100%를 지향하며 예외에 대한 케이스까지 공부하자.
계획
우선 단위테스트에 집중.
너무 많은 것들을 한번에 배워서 혼란스러웠으니, 차근차근 JUnit부터 시작해서 Mockito -> BDDMockito로 리팩토링 해본다.
- 단위테스트, 통합테스트 실전예시 차이 숙지.
- JUnit 공부
- Mockito 도입
- BDDMockito 리팩토링
'TIL : Today I learned (or Week)' 카테고리의 다른 글
TIL 230825 : 테스트 코드 2 - 의존성 없는 패키지 테스트 실습 (0) | 2023.08.28 |
---|---|
TIL 230824 : 테스트 코드 1 - JUnit이란? 단위테스트 (0) | 2023.08.27 |
TIL 230822 : 코딩테스트 입문단계에서 습득한 내장 메소드들 정리 (0) | 2023.08.25 |
TIL 230821 : AWS S3 (Simple Storage Service) 3 - 폴더 이름 정리, 권한 (버킷 정책, ACL) (0) | 2023.08.24 |
WIL 230820 : 최종 프로젝트를 시작하며 (0) | 2023.08.24 |