JS-테스트코드

topics 200-프론트개발
types 학습 도구
tags

테스트코드

저는 대표적인 Jest와 Mocha를 비교해보고 넘어가겠습니다 ㅎㅎ.


보통 JavaScript 진영에서는 테스트 코드를 짤 때 유명한 프레임워크로 다음과 같은 것이 입니다.

  • Jest (강력한 Mocking 기능으로 TOP 1)
  • Mocha (+ Chai)
  • Cypress

여러 선택지가 있습니다. 프론트엔드에서는 dom 검사를 위해서 react-testing-library 등을 함께 쓰던군영.


Jest는 기능이 강력한 대신 느립니다. 나중에 테스트가 쌓이면 매번 몇 초 동안 기다려야 하기 때문에 답답할 수 있습니다.

대신 zero config를 추구하기 때문에 특별한 설정 없이 바로 시작할 수 있습니다.

Jest 홈페이지 캡처 : https://jestjs.io/


환경을 Mocha + Chai로 세팅해봤던 저장소입니다.

GitHub - IamGroooooot/ts-goos-tdd
Contribute to IamGroooooot/ts-goos-tdd development by creating an account on GitHub.
github.com

Mocha는 Test 프레임워크입니다. Node나 브라우저 상으로 동기적이거나 비동적인 코드를 테스팅할 수 있게 해줍니다.

테스트코드를 짜보셨다면 익숙할 describe, it, before, after 와 같은 함수 등을 제공해주고 test coverage도 계산해줍니다.

보통 여러 Assertion을 추가적으로 쓰기 위해서 Chai라는 라이브러리와 같이 씁니다.

Chai로 expect(myVariable).to.equal(111)와 같은 assertion을 작성할 수 있게됩니다.

얘가 Jest에 비해 몇 배 더 빠릅니다.

나만의 Jest Matchers 만들기