TDD는 무엇일까?TDD(Test Driven Development)는 말 그대로 "테스트 주도 개발"입니다. 개발보다 테스트 코드를 먼저 작성하고, 그 테스트를 통과하는 코드를 작성하는 방식입니다.많은 국비 학원이나 부트캠프에서는 시간 부족으로 TDD를 다루지 않지만
@SpringBootTest와 @DataJpaTest 둘의 차이점은 무엇일까?@DataJpaTest는 JPA 관련 컴포넌트만 테스트하기 위한 슬라이스 테스트 어노테이션입니다.@Entity나 @Repository 관련 빈만 등록을 합니다. 그래서 @Controller,
@Mock 우리는 보통 Controller나 Service에서 객체를 호출할 때 @Autowired나 @RequiredArgsConstructor와 같은 방법을 사용하여 의존성을 주입받습니다. 하지만 테스트를 할때도 실제 객체들과 데이터들을 불러온다면 테스트코드를 작

핵심 개념: 관심사의 분리 (Separation of Concerns)Layered Architecture의 핵심 목적은 관심사의 분리입니다.그렇다면 왜 관심사를 분리해야 할까요?가장 큰 이유는 유지보수성과 확장성 때문입니다.사용자의 요청이 들어왔을 때, 각 Layer