Skip to content

[준섭] 1114(화) 개발기록

송준섭 edited this page Nov 15, 2023 · 3 revisions

개요

오늘은 재하님과 만나서 백엔드 페어 프로그래밍을 진행하였다.
일단 오늘의 페어 프로그래밍 계획은 다음과 같았다.

  • 12시부터 페어 프로그래밍
    • 테스트 코드 작성
    • board, auth CRUD 구현
  • 개발 기록 정리
    • ncp 서버 생성 과정
    • docker 이미지 생성 과정
    • TDD 과정
  • 9시에 멘토님과 멘토링

사실 시작하기 전까지만 해도 테스트 코드 작성과 CRUD 구현을 조금 만만하게 보았다.
미리 얘기하자면 그것은 정말 안일한 생각이었고 Nest 테스트 코드는 처음이라 조금 궁금한 점도 많이 생겼다.

CRUD Generator를 이용한 board, auth 모듈 생성

  1. auth resource 추가 nest g resource로 auth 리소스 추가

    image

    근데 이렇게 하고 git status를 쳐보니까

    image

    이런 식으로 .yarn 폴더 안에 unplugged 폴더 수정이 많이 일어났다.

    그러나 같이 페어 프로그래밍을 하고 있는 재하님은 unplugged 폴더 수정이 일어나지 않았다.

    혹시 몰라서 nest 버전도 맞추고, yarn install도 같이 해보고 다시 nest g reousrce를 해보았지만 결과는 역시 달랐다.

    이유가 뭐지?

    • 해결
      다시 처음 상태로 git reset --hard로 돌아감
      그 다음 yarn workspace server nest g resource로 auth 모듈 생성
      이 상태로 다시 루트 폴더에서 yarn install을 하니 재하님과 git status도 똑같아지고 서버 실행도 잘 되었다.
      내가 package/server 폴더까지 들어가서 yarn install을 한 게 잘못이었던 듯 하다
  2. board resource 추가

    위와 같은 방법으로 추가 완료

테스트 코드 작성

테스트 환경 설정

  1. .spec 테스트 파일들 test 폴더로 이동

    image

    그러고 yarn workspace server test를 해보려고 하니

    image

    다음과 같이 test 파일들을 찾을 수 없다는 안내가 뜸

    그 원인을 알아보니 package.json에 jest 설정 중 root 폴더 패스 때문이었음.

    image

    package.json의 root 설정이 원래 "src"로 되어있었던 것을 위와 같이 "test"로 수정

    그 후 testRegex 설정도 e2e test들은 그냥 .spec이 아닌 .e2e-spec으로 되어있기 때문에 수정해주었음.

    이렇게 하고 다시 yarn workspace server test를 해보니 잘 됨!

    image

  2. verbose, collectCoverage 설정 추가

    그리고 test 실행 시 좀 더 자세한 설명을 추가하는 verbose 옵션과 만든 기능들을 테스트 코드로 얼마나 커버하는지를 알려주는 collectCoverage 옵션을 추가해 주었음.

    처음에는 jest.config.json 생성해서 설정을 추가하고 다시 test를 해보았는데, 다음과 같은 오류가 뜸

    image

    nest 프로젝트 자체에서 저렇게 따로 config.json을 생성해주는 것이 아니라 package.json의 jest 옵션에서 관리를 해주는 것 같았음.

    image

    위와 같이 "verbose" 옵션과 "collecCoverage" 옵션을 추가

    image

    테스트가 예쁘게 잘 출력되는 줄 알았으나 coverage 부분이 비어있음..

    image

    위와 같이 rootDir을 "."으로 수정하고 collectCoverageFrom으로 커버리지 수집 폴더를 지정해 줌.

    그러니 이제야 드디어 테스트가 완벽히 예쁘게 실행 됨^^

    image

소개

규칙

학습 기록

[공통] 개발 기록

[재하] 개발 기록

[준섭] 개발 기록

회의록

스크럼 기록

팀 회고

개인 회고

멘토링 일지

Clone this wiki locally