티스토리 뷰
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 파일에 대해 테스트가 실행된다.
'컴퓨터 > 이번 주 기술메모' 카테고리의 다른 글
쉘 스크립트에서 특정 프로그램의 설치 여부를 확인하기 (0) | 2024.08.06 |
---|---|
MariaDB 시스템 변수 확인 및 수정 - 커넥션 수, 타임아웃, 제너럴 로그 등 (0) | 2024.06.30 |
인텔리제이에서 Ktor 프로젝트 실행이 안되는 경우 - java.lang.NoClassDefFoundError (0) | 2024.05.28 |