개발자

스프링 테스트코드 작성

2023년 09월 27일조회 63

스프링 강의를 수강하며, 스프링에 종속되지 않은 테스트 코드가 바람직하다는 내용을 접하게 되었습니다. 당연히 옳은 말이지만, 복잡한 의존 관계를 가진 클래스들을 하나씩 초기화하는 과정이나 레포지토리 클래스에 새로운 함수나 쿼리가 추가될 때마다 그에 따른 로직을 새로 작성하여 테스트해야 하는 점 등이 상당한 어려움으로 다가왔습니다. 그렇기에, 현업에서 진행되는 테스트 코드 작성 과정에서 스프링에 어느 정도 종속적인 코드를 작성하는지, 그 비율은 어느 정도인지 여쭤보고 싶습니다. 이제 막 공부중이라 내용이 이상할지도 모르지만 너그럽게 양해 부탁드리고 팁같은게 있으시다면 공유해주시면 감사하겠습니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 09월 27일

스프링에 종속된 테스트 코드를 얼마나 작성할지는 프로젝트의 성격과 개발 팀의 결정에 따라 다르다. 하지만 경험적으로 보았을 때 약 20%~30%가 스프링에 의존하는 테스트 코드인 경우가 많다. 스프링에 의존하지 않는 순수 단위 테스트들(Unit Test)은 개별 클래스나 메소드의 동작을 검증하는 데 가장 적합하다. 이와 달리 스프링이 관여하는 통합 테스트(Integration Test)는 종속성이 많은 컴포넌트, 예를 들어 데이터베이스나 외부 서비스와 같은 것들과 함께 전체 시스템이 제대로 동작하는지를 검증한다. 일반적으로, 단위 테스트는 비용 대비 효과가 크기 때문에 가능한 한 단위 테스트를 우선적으로 작성하고, 그 다음으로 복잡한 시뮬레이션을 필요로 하는 부분이나 Spring과 같은 프레임워크에 의존해야 하는 부분들을 통합 테스트로 검증한다. 자동화된 CI/CD 파이프라인을 구축하여, 코드 변경 사항이 있을 때마다 모든 단위 테스트와 선택적으로 일부 통합 테스트를 실행하게 설정하는 것이 좋다. 이런 접근 방식은 애플리케이션의 안정성을 보장하면서도, 불필요한 의존 관계를 줄이고 생산성을 유지할 수 있다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!