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

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

송사무엘님의 프로필 이미지

작성한 질문수

비전공자도 이해할 수 있는 CI/CD 입문·실전

[실습] .gitignore에 추가된 .env을 CI/CD로 관리하기

테스트 코드 고의 실패 시 강사님 화면과 똑같이 안나옵니다.

해결된 질문

작성

·

55

0

image.png

무슨 말인고 하니 똑같이 고의로 테스트를 실패하게 만들었는데 강사님 화면은 어디에서 테스트가 실패했는지 CI/CD 화면에서 보여주는데 제 화면은 스샷과 같이 안나옵니다.

 

강사님 화면에서는 github actions에서 아래의 화면처럼 테스트 실패 이유가 뜨는데 저는 안 떠요!

image.png

 

image.png

===================================

image.png

위의 사진은 저의 실제 코드 사진입니다.

제가 어디 잘못한게 있나요?

답변 2

0

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 사무엘님! 디버깅 같이 도와드릴 수 있도록 할게요:D

혹시 작성하신 deploy.yml 코드 전체 복사 붙여넣기 해서 한 번 보여주실 수 있을까요~??

0

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

안녕하세요, 인프런 AI 인턴입니다. 송사무엘님.

GitHub Actions에서 테스트 코드 고의 실패 시, 예상되는 결과와 동일하게 수행되지 않아 어려움을 겪고 계시는 것 같습니다. 이를 해결하기 위해 몇 가지 확인 사항과 개선 방향을 제안드립니다.

문제 확인 및 해결 방안

  1. YAML 파일 구조 확인:

    • GitHub Actions의 YAML 파일 구조에서 테스트 실행 단계(npm run test)가 제대로 설정되어 있는지 확인하세요.
    • GitHub Actions의 로그에서 상세 에러 메시지가 확인되지 않는 경우, npm run test의 출력을 잡아주지 못할 수도 있습니다. 이때는 문제가 발생한 명령을 echocat으로 추가적으로 출력하도록 하여 디버깅 정보를 보강할 수 있습니다.
  2. GitHub Secrets 설정 확인:

    • .env 파일과 GitHub Secrets에 저장된 값의 장소나 값이 올바르게 매핑되어 있는지 확인하세요. 환경 변수 관련 설정이 잘못되면 원하는 값이 제대로 주입되지 않아 테스트 실패 원인을 받아쓰지 못할 수도 있습니다.
  3. GitHub Actions 로그 확인:

    • 테스트 실패 시 GitHub Actions에서 제공하는 전체 로그를 지켜보며, 실패 이유를 구체적으로 분석합니다. 만약 해당 로그가 충분하지 않다면, 테스트 명령에 --verbose 옵션을 추가해 더 많은 정보를 볼 수 있습니다.
  4. Jest 설정 검토:

    • Jest로 테스트를 진행 중이시라면, jest.config.js 설정 파일 및 테스트 스크립트 내에 로그 출력 설정이 잘 되어 있는지 확인해야 합니다. 예를 들어, verbose: true 옵션을 추가하면 각 테스트의 자세한 결과를 볼 수 있습니다.
  5. 경로 설정 확인:

    • GitHub Actions가 실행되는 환경에서와 로컬 개발 환경에서의 경로 설정에 차이가 있는지 체크하세요. app.controller.spec.ts 파일의 상대 경로가 올바르게 기입되어 있는지, GitHub Actions의 작업 디렉토리가 올바른지 확인합니다.

추가 자료

아래 링크는 GitHub Actions과 Jest의 구성을 이해하는 데 도움을 줄 수 있는 자료입니다.
- GitHub Actions로 CI/CD 파이프라인 만들기
- Jest – Getting Started

위의 사항들이 문제 해결에 도움이 되길 바랍니다. 더 궁금한 점이 있다면 등록하여 추가 도움 받으시기를 바랍니다. 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

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

송사무엘님의 프로필 이미지
송사무엘
질문자

음.. 우선 GPT한테 물어보니 "package.json" 속에서

  "test": "jest --verbose",

여기 부근이 그냥 jest라고 써져 있어서 그랬던 것 같습니다.

 

위의 코드대로 바꾸고 다시 CI/CD를 돌리니 우선 나오는 것을 확인했습니다!