티스토리 뷰

Jest는 Mocha와 달리 테스트 프레임워크이다. Mocha를 쓰는 경우 Assertion을 위해 chai를, 모킹을 위해 sinon을 같이 쓰게 되는데 Jest의 경우 모두 커버 가능하다.

ts로 작성한 프로젝트에 Jest를 추가해본다.

 

https://jestjs.io/docs/getting-started

 

1. 설치하기

dev 전용으로 설치한다.

npm install --save-dev jest

 

package.json에 test 커맨드를 추가한다.

* 또는 npm init jest@latest을 실행하면 기본 설정이 추가되면서 test 커맨드도 자동으로 추가된다.

 

2. 타입스크립트 지원

문서에 따르면 타입스크립트로 작성된 테스트 스크립트를 실행하기 위해 babel을 쓰거나, ts-jest를 쓸 수 있다. babel을 사용하지 않는 프로젝트에 추가하고 있기 때문에 ts-jest를 선택했다.

npm install --save-dev ts-jest
npx ts-jest config:init

 

describe, it와 같은 Jest API의 타입 체크를 위해서는 @jest/globals를 설치해서 describe 등의 API를 Import 하거나, 아니면 @types/jest를 설치해서 Import 하지 않고 전역적으로 사용할 수 있다. 익숙한 느낌의 후자를 선택했다.

npm install --save-dev @types/jest

 

3. 테스트 테스트 실행하기

const printLog = (msg: string) => console.log(msg);

describe('test test', () => {
    it('test test test', () => {
        printLog('Hello, World');
    });
});

 

테스트 내부에서 인자에 타이핑이 되어있는 함수를 호출한다. 트랜스파일링이 안되고 있으면 오류가 발생할 것이다.

잘 된다.

 

* 별도로 설정하지 않은 경우 *.spec.ts, *.test.ts, 또는 __tests__ 디렉토리의 ts 파일에 대해 테스트가 실행된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함