
워밍업 클럽 3기 BE 클린코드&테스트 - 3주차 발자국
강의 요약
섹션 6. Spring & JPA 기반 테스트
Presentation Layer
외부 세계의 요청을 가장 먼저 받는 계층
파라미터에 대한 최소한의 검증을 수행한다.
Business Layer
비즈니스 로직을 구현하는 역할
Persistence Layer와의 상호작용(Data를 읽고 쓰는 행위)을 통해 비즈니스 로직을 전개시킨다.
트랜잭션을 보장해야 한다.
Persistence Layer
Data Access의 역할
비즈니스 가공 로직이 포함되어서는 안 된다. Data에 대한 CRUD에만 집중한 레이어
미션 (DAY11)
스터디카페 단위 테스트 작성
결과:
과정
InputHandler: 테스트 코드 작성, SCANNER 필드 StudyCafeIOHandler 클래스로 이동
LockerPassFileReader: 테스트 코드 작성
SeatPassFileReader: 테스트 코드 작성
StudyCafeSeatPass, StudyCafeSeatPasses, StudyCafeLockerPass, StudyCafeLockerPasses: equals, hashCode 메소드 추가
아쉬운점
로직이 간단한 부분은 테스트 코드를 쉽게 작성할 수 있었지만, 로직이 복잡한 부분에서는 테스트 코드 작성이 어려웠습니다. 특히 테스트를 위해 public이나 private 접근제어자를 수정해야 하는지 또는 기존 서비스 로직도 변경을 해야 하는지에 대해 고민이 많았습니다. 추후 코치님의 코드 리뷰를 통해 새롭게 배워 보완을 해야 할 것 같습니다.
발작국 3주차 회고
이번 강의를 통해 다양한 테스트 코드를 작성하는 습관을 길러야겠다는 생각이 들었습니다. 앞으로는 복잡한 로직을 작은 단위로 나누어 테스트하기 쉽게 만들고 처음부터 테스트 가능성을 고려한 설계를 할 수 있도록 노력해야겠다고 다짐했습니다. 또한 정상적인 경우뿐만 아니라 예외 상황이나 엣지 케이스까지 포함한 테스트 코드를 작성해 코드의 안정성을 높이는 데 집중해야겠다고 느꼈습니다. 아직 부족한 점이 많지만 이번 테스트 코드 작성 경험을 바탕으로 더 나은 테스트 코드 작성 방법과 설계를 고민하며 발전해 나가고 싶습니다.
댓글을 작성해보세요.