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

kamser님의 프로필 이미지
kamser

작성한 질문수

Practical Testing: 실용적인 테스트 가이드

Spring REST Docs

Spring Rest Docs 강의 질문이 있습니다.

해결된 질문

작성

·

319

0

0:59:00 전 내용입니다.

 

  1. 명세를 정한다

  2. 컨트롤러 @Valid 검증을 작성한다.

  3. RestDocs 를 작성한다

  4. 가짜 데이터를 넣는다.

  5. 배포한다.

그 뒤 서비스와 리포지토리를 작성한다.

 

라고 정리를 해봤습니다.

 

  1. 그런데 여기서 궁금한게 4번인데요


    가짜 데이터를 넣는다는 뜻을 잘 모르겠습니다.

 

  1. 테스트 환경에서는 자유롭게 docs/index.html 로 접근을 하고 라이브 환경에서는 해당 bootJar를 구문을 제거하고 배포하시는 건가요?

 

 

답변 2

0

박우빈님의 프로필 이미지
박우빈
지식공유자

안녕하세요, kamser 님!
답변 드리겠습니다.

 

1. 그런데 여기서 궁금한게 4번인데요
가짜 데이터를 넣는다는 뜻을 잘 모르겠습니다.

RestDocs로 문서를 만들 때 가짜 데이터를 넣는 것은 실제 API 문서에 보여질 예시 데이터를 넣는 과정입니다. 문서를 생성해보시면 내가 생성한 데이터를 기반으로 문서가 만들어져 있는 것을 확인하실 수 있습니다.

2. 테스트 환경에서는 자유롭게 docs/index.html 로 접근을 하고 라이브 환경에서는 해당 bootJar를 구문을 제거하고 배포하시는 건가요?

문서를 만드는 이유가 테스트 환경에서 사용한다기 보다는 우리 팀이 아닌 다른 팀에게 정보를 제공하기 위함인데요.
그래서 보통 개발 환경에 docs/index.html로 배포하여 사용하고는 합니다.

기본적으로는 운영 환경에도 동일한 path로 문서가 생성될 것인데요.
만약 회사 내부 시스템(private)이라 일반 사용자에게 노출되지 않을 서비스라면 굳이 제어를 할 필요는 없겠지만, 반대로 public한 서비스라면 개발 환경에만 문서가 노출되도록 제어를 하는 것이 좋겠죠.

구성한 시스템에 따라 제어하는 방법은 여러가지가 될 수 있겠습니다만, spring profile에 따라 제어하는 방법이 간단하겠네요.
요 블로그는 참고 차 보시면 좋을 듯 합니다.

도움이 되셨기를 바랍니다.
감사합니다. 🙂

kamser님의 프로필 이미지
kamser
질문자

답변 감사합니다 !!! 강사님 행보갛세요

0

안녕하세요, 인프런 AI 인턴입니다.
kamser님, 문의하신 ‘가짜 데이터를 넣는다’는 부분에 대해서 설명드릴게요.

  • 가짜 데이터를 넣는다는 것은 테스트를 위해 실제 데이터베이스 대신 테스트에 적합한 데이터를 사용한다는 의미입니다. 일반적으로 Test Doubles라고 불리는데, Stub, Mock, Fake 등이 있습니다. 이렇게 함으로써 실제 서비스의 데이터에 영향을 주지 않으면서도 충분히 현실적인 시나리오를 테스트할 수 있습니다.

  • 테스트 환경과 라이브 환경에 관한 당신의 질문은, 문서화된 API 스펙의 접근성에 대한 것으로 보입니다. 테스트 시에는 docs/index.html 파일에 접근이 가능하지만, 실제 라이브 환경에서는 외부에 노출되지 않도록 보안 조치를 취하거나 해당 파일을 포함하지 않고 배포하는 방식을 말합니다. 이러한 구분은 보안상의 이유로 중요하며, 실제 환경과 테스트 환경의 설정을 다르게 관리해야 한다는 것을 나타냅니다.

관련 문서와 추가적인 정보는 아래 링크를 참조하시면 도움이 될 것 같습니다.

이 답변이 kamser님의 질문에 도움이 되었기를 바랍니다. 테스트 환경 설정이나 RestDocs 작성 시 더 궁금한 점이 있다면 언제든 문의해 주세요.

kamser님의 프로필 이미지
kamser

작성한 질문수

질문하기