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

FRONTEER님의 프로필 이미지
FRONTEER

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

테스트 코드 - 통합 테스트

API 모킹할 때 받아오는 _id 값

해결된 질문

작성

·

247

·

수정됨

0

안녕하세요 멘토님

매번 강의 잘 듣고 있습니다.

이번 강의를 마무리로 별도로 개인 토이프로젝트 개발을 시작하고 배포를 할 때가 오면 다시 배포 부분부터 수강할 예정인데 이 강의에서 이해가 좀 정확히 안되는 부분이 있어서 질문 글을 올렸습니다.

API 모킹을 통해 가짜 게시글 생성 테스트 API를 보내서 result를 받는 부분 중, _id 값 부분이 이해가 잘 안됩니다.

writer, title, contents 는 테스트 input 부분에 있던 내용들 그대로 result에 적어서 이 값들이 제대로 insert 되었는지 테스트를 하기 때문에 같은 값을 입력했다는 것은 이해를 했습니다.

그런데 _id 부분은 왜 백엔드에서-받은-게시글ID 이라고 임의로 입력을 했는지 부분을 이해 못했습니다.

id, _id 와 같은 값은 랜덤으로 생성되기에 뭘로 받아올지 모르기 때문에 테스팅 라이브러리에서 임의의 값으로 지정하도록 설정이 가능해서일까요?

그렇다면 아폴로에서 캐싱할 때도 _id, id 라는 명을 인식해서 캐싱이 더 잘되듯이, 테스팅 라이브러리도 _id, id 명에 한정해서 개발자가 임의의 값을 입력해도 되도록 만들어 둔 것인지도 궁금합니다.

// 가짜 mutation 만들기 (요청, 응답 모두)
const mocks = [
  {
    request: {
      query: CREATE_BOARD,
      variables: {
        createBoardInput: {
          writer: "철수",
          title: "안녕하세요",
          contents: "반갑습니다",
          password: "1234",
        },
      },
    },
    result: {
      data: {
        createBoard: {
          _id: "백엔드에서-받은-게시글ID",
          writer: "철수",
          title: "안녕하세요",
          contents: "반갑습니다",
        },
      },
    },
  },
];

 

답변 1

0

안녕하세요!
게시글 아이디 같은 부분은 백엔드에서 내부로직으로 랜덤생성하는 부분입니다.
따라서 임의로 생성되는 부분이기 때문에 매번 테스팅 때마다 바뀌어야 하죠, 그렇기 때문에 뭘로 받아올지 몰라 저렇게 적어 준 것 입니다.

감사합니다.

FRONTEER님의 프로필 이미지
FRONTEER

작성한 질문수

질문하기