
들어가기 앞서 산업기능요원으로 현재 회사에 입사한 지가 벌써 2년이 다 되어가고 있다. 하지만 회사 내 스택은 아직 낮은 수준에 있기 때문에, 내가 나가기 전에 회사에 내가 아는 것들을 좀 전파를 많이 해야겠다는 생각을 요새 참 많이 하고 있다. 그래서 세미나를 할 계획을 몇 개 세워놓았는데, 그 첫 번째 세미나는 테스트 코드에 대해 진행하게 되었다. 웹 개발은 프론트엔드와 백엔드로 나누어지며, 특히 우리 회사는 기괴하게도 프론트엔드에 많은 부분이 몰빵되어 있는 부분이 많다. (프론트엔드 쪽에 비즈니스 로직이 많다). 하지만 프론트엔드의 테스트 코드 작성에 대해 얘기하자니, 그에 필요한 사전 지식들이 너무나도 많았다. 그렇기 때문에 차라리 더 입문하기도 쉽고 설명하기도 좋을 것 같은 백엔드 테스트 전략에..

시작하기 전에 계층형 아키텍처에서 개발을 진행할 때 우리는 보통 Controller, Service, Repository 이렇게 3개의 계층의 구조로 짜게 된다. 이 3개의 계층은 Controller에서 Service로, Service에서 Repository로 의존성이 흐르는데, 이 중에서도 Repository 부분을 보통 JpaRepository나 Mybatis mapper 같은 클래스로 직접 의존성으로 사용하는 경우가 많다. 하지만 Service 계층에서 바로 이런 클래스들에 의존하게 될 경우 몇 가지 문제가 생기게 된다. 이 글에서는 쉬운 예제 작성을 위해 JpaRepository를 사용하겠다. Service에서 바로 JpaRepository를 의존할 때 생기는 문제 Service 계층이 세부 사항..