인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

굿데이님의 프로필 이미지

작성한 질문수

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

게시글 CRUD API 구현

테스트 작성 관련 간단한 질문입니다.

해결된 질문

작성

·

76

0

안녕하세요. 강의 잘 듣고 있습니다.

테스트 작성하실때 request와 response를 import 안하고 따로 inner class로 만드시는 특별한 이유가 있을까요?

궁금하네요.

답변 2

0

쿠케님의 프로필 이미지
쿠케
지식공유자

굿데이님, 안녕하세요!

 

간단하게 말씀드리면, 별 의미 없습니다.

분리 여부로 딱히 차이도 없고, 파일 불필요하게 많아지는 것 보단 테스트 클래스 단위로 관리하는게 깔끔하기도 하고, 굳이 분리할 필요성도 없어서 더 편한 방향으로 진행 했다고 봐주시면 될 것 같네요!

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 굿데이님.

테스트 작성 시 requestresponse를 import하지 않고 다른 방식으로 처리하시는 이유에 대해 궁금하신가 보네요. 이 질문은 실제 개발 스타일이나 코드 구조에 따라 달라질 수 있을 것 같습니다. 일반적으로 다음과 같은 이유에서 inner class를 사용하거나 별도로 요청/응답 객체를 정의할 수 있습니다:

  1. 내부 클래스로 정의하는 이유:

    • 캡슐화 유지: 특정 테스트 클래스 내에서만 사용하는 요청/응답 객체를 외부로 노출하지 않고, 내부에서만 캡슐화하여 관리하고자 할 때 inner class로 정의할 수 있습니다.
    • 가독성 향상: 한눈에 테스트 코드를 이해할 수 있도록, 관련 로직과 데이터를 하나의 파일에 모아두어 가독성을 높일 수 있습니다.
    • 구조적 독립성: 테스트 코드 전용으로 사용되는 객체의 경우, 외부에 의존성을 줄이고 해당 테스트에 종속적인 구조를 갖게 함으로써 코드의 독립성을 강화할 수 있습니다.
  2. 별도의 import를 피하는 이유:

    • 의존성 최소화: 테스트 목적이 아닌 환경에 불필요한 의존성을 추가하지 않기 위해 불필요한 import를 피할 수 있습니다.
    • 단순화된 클래스 구조: 테스트 케이스가 복잡해지는 것을 막고, 필요할 경우에 한해서만 클래스를 확장하여 사용합니다.

이와 관련된 좀 더 구체적인 개발 철학이나 스타일은 강의에서 다루어지는 내용일 수 있으며, 아래의 유사한 질문에 대한 답변을 통해 더 많은 정보를 얻을 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.