Daily/원티드 프리온보딩 프론트엔드 과정

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

호밀이 2023. 1. 16. 22:30

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

📝 강의내용

소프트웨어 테스트란?

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

 

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

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

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

 

유닛 테스트

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

 

통합 테스트

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

 

End-to-End 테스트

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

 

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

 

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