230425_TIL

majungha·2023년 4월 25일
1

TIL

목록 보기
40/68

앞으로의 목표 👍


  1. javascript 능력 및 고난도 알고리즘 풀이 능력
  2. Nest, Graphql등 최신 기술 스택 활용 능력
  3. 기초 미니프로젝트 포트폴리오
  4. 로그인, 결제기반 심화프로젝트 포트폴리오
  5. 배포를 위한 네트워크 및 CI/CD 배포자동화 능력
  6. 120% 백엔드 개발 지식

오늘부터 꾸준히 해야할 일 👍


  • 영타실력 늘리기
  • 단축키 사용 익숙해지기
  • 코드리딩 실력 키우기
  • 데일리 퀴즈
  • 포트폴리오 작성
  • 독스에 친숙해지기
  • MDN 보는 연습하기

오늘의 수업 👍



📝 테스트코드


  • 기능(API 요청)을 검사해주는 코드이다.

  • 정답을 알려주는 AI가 아니라 답을 미리 적어주고 맞는지 틀린지 테스트 해주는 코드이다.

  • 단위테스트(unit test)

    • 버튼 클릭과 같은 개별기능 테스트
    • 응용 프로그램에서 함수처럼 가장 작은 단위를 테스트합니다.
  • 통합테스트(integration test)

    • 여러기능 한번에 테스트
  • 서버의 구성 요소들이 함께 잘 작동하는지를 테스트하기 위함이다.

  • E2E(end-to-end) 테스트

    • 사용자의 입장에서 사용자의 상황을 처음부터 끝까지 가정하여 올바르게 작동하는지 테스트 하는 것을 말한다.
    • 접속해서 로그인하고 구매하는 등 시나리오가 있는 테스트

📝 Mocking


  • Jest를 사용할 때 장점 중 하나는 다른 라이브러리 설치 없이 바로 mock 기능을 지원한다는 점이다.
  • 단위 테스트를 작성할 때 해당 코드가 의존하는 부분을 가짜(mock)로 대체하는 기법을 말한다.
  • 일반적으로 테스트하려는 코드가 의존하는 부분을 직접 생성하기가 너무 부담스러운 경우 mocking이 많이 사용된다.
  • 실제 객체인 척하는 가짜 객체를 생성하는 매커니즘을 제공한다.
  • Mocking을 이용하면 구체적으로 구현해야 하는 실제 객체 사용보다 훨씬 빠르고, 동일한 결과를 내는 테스트를 작성이 가능하다.
  • NestJS의 Test 환경을 조성할 경우 의존성 주입을 하지 않고 의존성 자체를 Mocking 해야한다.
  • Unit Test를 하기 위해 실제 코드가 실행되는 환경과 같은 환경을 조성해줘야한다.
  • 실제 Test에 사용될 Mocking AppService를 사용하여 독립된 환경의 Controller를 테스트해야한다.

📝 Jest Service


  • Unit Test를 하기 위해 실제 코드가 실행되는 환경과 같은 환경을 조성해줘야한다.
  • Testing시 실제 Repository를 사용하여 동일한 환경을 만들어준다면 실제 DB에 데이터가 들어가게 되어 심각한 오류를 초래 할 수 있다.
  • 그래서 UserRepository를 Mocking하여 독립된 환경에서 Service를 테스트할 수 있도록 해야한다.

📝 TDD


  • Test Driven Development 의 약자로 테스트 주도 개발이라고한다.
  • 기능보다 테스트를 먼저 만드는 것이다.

오늘의 마무리 👍



  • 복습
  • github 공부
  • 블로그 포스팅
  • 데일리 퀴즈
  • 알고리즘 문제 풀기

항상 겸손한 자세로 배우면서 성장하자, 할 수 있다!! 💪


출처 : 코드캠프

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글