자바스크립트의 유닛 테스트
유닛 테스트란?
유닛 테스트(Unit Test)는 말 그대로 Unit 의 기능에 대한 Test 를 진행하는 것이다. 자세히 말하자면, 소프트웨어 / 애플리케이션을 구성하는 가장 작은 단위(함수, 메서드, 클래스 등)가 예상대로 작동하는지 확인하기 위해 수행하는 테스트 기법이다.
왜 필요한가?
- 품질 향상: 작은 단위부터 오류를 빠르게 식별하고 해결
- 리팩터링 안정성 보장: 기능 개선 또는 수정 시, 기존 코드가 정상 동작함을 보장
- 문서화: 테스트 케이스가 해당 코드 사용 방법과 주의사항을 동시에 설명
- 개발 효율 증대: 조기에 버그를 발견해 수정 비용 절감
라고 강의에서 이야기 했고, 조금 더 정리해보자면 아래와 같다.
프로그래밍에서 테스트는 작성된 코드가 의도한 대로 정확하게 작동하는지 확인하는 과정을 말한다. 테스트를 통해 배포 / 출시 이전에 버그를 찾아내, 안정적인 서비스를 제공할 수 있게 되는 것이다.
안 할 이유가 전혀 없지만.. 언제나 시간과의 싸움 아니겠는가.. 그럼 웹에서는 테스트를 위해 어떤 도구를 활용하는 지 살펴보자.
대표적인 JavaScript 유닛 테스트 라이브러리
- Jest 1
- Facebook에서 개발한 테스팅 프레임워크
- React, Vue 등과 함께 프런트엔드 테스트에 자주 사용
- 스냅샷 테스트 기능을 제공
JavaScript 기반의 프레임워크 중 대다수를 지원하는 것 같다.
- Mocha/Chai 2
- JavaScript 테스트 도구 중 가장 오래되고 많이 사용되는 조합
- Mocha는 테스트 러너, Chai는 어서션 라이브러리
- 유연하고 확장성이 뛰어남
어디서 들어봤는데.. 했던 것이 이거였다. 내일배움캠프에서 튜터님이 알려주신 라이브러리였다.
딱 한 번 사용해봤는데, 그땐 리액트 state 조차 간신히 다루던 때라..
- Jasmine 3
- BDD 스타일의 테스트 프레임워크
- 설정이나 의존성이 적어 빠른 시작 가능
페이지에 들어가보면, 심플하다는 것을 강조하고 있다. 그래서 페이지도 되게 단순하게 되어있는 것 같다.
일단 요구사항이 Jest
를 통한 테스트인 만큼, 이를 활용해보도록 하자.
This post is licensed under CC BY 4.0 by the author.