Post

자바스크립트의 유닛 테스트

유닛 테스트란?

유닛 테스트(Unit Test)는 말 그대로 Unit 의 기능에 대한 Test 를 진행하는 것이다. 자세히 말하자면, 소프트웨어 / 애플리케이션을 구성하는 가장 작은 단위(함수, 메서드, 클래스 등)가 예상대로 작동하는지 확인하기 위해 수행하는 테스트 기법이다.

왜 필요한가?

  • 품질 향상: 작은 단위부터 오류를 빠르게 식별하고 해결
  • 리팩터링 안정성 보장: 기능 개선 또는 수정 시, 기존 코드가 정상 동작함을 보장
  • 문서화: 테스트 케이스가 해당 코드 사용 방법과 주의사항을 동시에 설명
  • 개발 효율 증대: 조기에 버그를 발견해 수정 비용 절감

라고 강의에서 이야기 했고, 조금 더 정리해보자면 아래와 같다.

프로그래밍에서 테스트는 작성된 코드가 의도한 대로 정확하게 작동하는지 확인하는 과정을 말한다. 테스트를 통해 배포 / 출시 이전에 버그를 찾아내, 안정적인 서비스를 제공할 수 있게 되는 것이다.

안 할 이유가 전혀 없지만.. 언제나 시간과의 싸움 아니겠는가.. 그럼 웹에서는 테스트를 위해 어떤 도구를 활용하는 지 살펴보자.

대표적인 JavaScript 유닛 테스트 라이브러리

  1. Jest 1
    • Facebook에서 개발한 테스팅 프레임워크
    • React, Vue 등과 함께 프런트엔드 테스트에 자주 사용
    • 스냅샷 테스트 기능을 제공

    Jest 홈페이지

    JavaScript 기반의 프레임워크 중 대다수를 지원하는 것 같다.

  2. Mocha/Chai 2
    • JavaScript 테스트 도구 중 가장 오래되고 많이 사용되는 조합
    • Mocha는 테스트 러너, Chai는 어서션 라이브러리
    • 유연하고 확장성이 뛰어남

    어디서 들어봤는데.. 했던 것이 이거였다. 내일배움캠프에서 튜터님이 알려주신 라이브러리였다.

    딱 한 번 사용해봤는데, 그땐 리액트 state 조차 간신히 다루던 때라..

  3. Jasmine 3
    • BDD 스타일의 테스트 프레임워크
    • 설정이나 의존성이 적어 빠른 시작 가능

    페이지에 들어가보면, 심플하다는 것을 강조하고 있다. 그래서 페이지도 되게 단순하게 되어있는 것 같다.

일단 요구사항이 Jest 를 통한 테스트인 만큼, 이를 활용해보도록 하자.

This post is licensed under CC BY 4.0 by the author.