Jest란?
- 테스트를 간편하게 하기 위한 자바스크립트 테스팅 프레임워크
- 바벨, 타입스크립트 리액트 등과 호환 가능
- 별다른 설정 없이 대부분의 자바스크립트 프로젝에서 테스팅 가능
- 큰 객체들을 쉽게 추적하게 해주는 스냅샷 기능 지원
- 자체 프로세스에서 테스트가 병렬화되어 실행되어 퍼포먼스를 향상시킴
테스트에 고유한 전역상태가 있는지 확인하고, 작업을 빠르게 하기 위해 이전에 실패한 테스트를 먼저 실행하고 테스트 파일이 걸리는 시간에 따라 실행 순서를 재구성함
- it -> expect의 통일된 구문의 api 사용
- 플래그 하나로 코드 커버리지 확인 가능
- mock function을 사용해 테스트 범위 밖의 개체를 사용할 수 있음
시작하기
npm install --save-dev jest
function sum(a, b) {
return a + b;
}
export default sum;
- 이 함수를 테스트하기 위해서는 sum.test.js 파일을 만들어 테스트를 진행해야 한다.
import sum from "sum"
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
- 이제 package.json에 스크립트를 등록하고, npm test 명령어를 사용하면 테스트가 진행된다
package.json
{
"scripts": {
"test": "jest"
}
}
출력
PASS ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)
- 필요한 경우 터미널에서 직접 테스트를 진행할 수 있음
jest my-test --notify --config=config.json
타입스크립트에서 Jest 사용
- ts-jest 를 사용해 타입스크립트에서 jest를 사용한 테스트가 가능함
npm install --save-dev ts-jest
npm install --save-dev @types/jest
출처:
https://jestjs.io/