워밍업 클럽 3기 BE 클린코드&테스트 - 3주차 발자국

워밍업 클럽 3기 BE 클린코드&테스트 - 3주차 발자국

강의 요약

섹션 6. Spring & JPA 기반 테스트

  • Presentation Layer

    • 외부 세계의 요청을 가장 먼저 받는 계층

    • 파라미터에 대한 최소한의 검증을 수행한다.

  • Business Layer

    • 비즈니스 로직을 구현하는 역할

    • Persistence Layer와의 상호작용(Data를 읽고 쓰는 행위)을 통해 비즈니스 로직을 전개시킨다.

    • 트랜잭션을 보장해야 한다.

  • Persistence Layer

    • Data Access의 역할

    • 비즈니스 가공 로직이 포함되어서는 안 된다. Data에 대한 CRUD에만 집중한 레이어

 

미션 (DAY11)

 

과정

  1. InputHandler: 테스트 코드 작성, SCANNER 필드 StudyCafeIOHandler 클래스로 이동

  2. LockerPassFileReader: 테스트 코드 작성

  3. SeatPassFileReader: 테스트 코드 작성

  4. StudyCafeSeatPass, StudyCafeSeatPasses, StudyCafeLockerPass, StudyCafeLockerPasses: equals, hashCode 메소드 추가

 

아쉬운점

로직이 간단한 부분은 테스트 코드를 쉽게 작성할 수 있었지만, 로직이 복잡한 부분에서는 테스트 코드 작성이 어려웠습니다. 특히 테스트를 위해 public이나 private 접근제어자를 수정해야 하는지 또는 기존 서비스 로직도 변경을 해야 하는지에 대해 고민이 많았습니다. 추후 코치님의 코드 리뷰를 통해 새롭게 배워 보완을 해야 할 것 같습니다.


발작국 3주차 회고

이번 강의를 통해 다양한 테스트 코드를 작성하는 습관을 길러야겠다는 생각이 들었습니다. 앞으로는 복잡한 로직을 작은 단위로 나누어 테스트하기 쉽게 만들고 처음부터 테스트 가능성을 고려한 설계를 할 수 있도록 노력해야겠다고 다짐했습니다. 또한 정상적인 경우뿐만 아니라 예외 상황이나 엣지 케이스까지 포함한 테스트 코드를 작성해 코드의 안정성을 높이는 데 집중해야겠다고 느꼈습니다. 아직 부족한 점이 많지만 이번 테스트 코드 작성 경험을 바탕으로 더 나은 테스트 코드 작성 방법과 설계를 고민하며 발전해 나가고 싶습니다.

댓글을 작성해보세요.

채널톡 아이콘