본문 바로가기
Daily/원티드 프리온보딩 프론트엔드 과정

[원티드 프리온보딩 프론트엔드 인턴십 8기] Week 5-1

by 호밀이 2023. 1. 16.

오늘은 Jest를 사용해서 프론트엔드 단에서 테스트를 하는 방법에 대해서 학습했다. 사실 이전에 학습을 해보고 조금 작성도 해봤지만 테스트를 언제, 어떻게 작성해야 하는지에 대한 고민이 항상 있었다. 이를 해결할 수 있는 시간이라고 생각된다.

📝 강의내용

소프트웨어 테스트란?

소프트웨어가 의도한대로 동작하는지를 테스트하는 것이다.

 

소프트웨어를 통해서 테스트를 하면 얻을 수 있는 이점

  • 사람이 테스트를 실행하는 것보다 빠르다.
  • 정해진 스크립트에 따라 일관성있게 동작하기에 사람이 테스트 할 경우 발생할 수 있는 휴먼 에러를 피할수 있다.

테스트에는 크게 3가지로 유닛, 통합, E2E 테스트가 있다.

 

유닛 테스트

테스트중에서 가장 작은 범위를 테스트한다. 개별 함수, 메서드, 클래스, 컴포넌트 등의 동작을 테스트한다.

 

통합 테스트

두 개 이상의 모듈이 결합해서 동작을 잘 수행하는지에 대한 테스트이다. 컴포넌트가 Redux등의 상태관리 라이브러리와 통합했을 때 두 모듈이 잘 어루러져서 최종적으로 의도한 결과를 도출하는지 테스트하는 것이다. 

 

End-to-End 테스트

실제 유저가 애플리케이션을 사용하는 것과 유사한 환경을 구축한 후 실제 유저의 동작을 흉내내서 테스트하는 것이다.

 

JavaScript 테스트 라이브러리 - Jest, Mocha, Chai

 

Jest 사용법 및 Jest를 활용한 리액트 테스트