Jest 설치

2022-05-11

폴더를 만들고, 프로젝트를 만들어 줍니다.

npm init

Jest 설치

개발할때만 사용하기 때문에 --save-dev를 붙여 줍니다.

npm install jest --save-dev

-D 를 해주셔도 됩니다.

npm install jest -D

package.json 을 보면 test 부분이 있는데, 해당 부분을 지우고

"test": "...

jest를 적어 줍니다.

"test": "jest"

Jest를 이용한 Test

테스트 대상 파일 생성 : fn.js

fn.js라는 파일을 만듭니다.

여기에 함수들을 모아두겠습니다.

테스트 파일에서 사용할수 있도록 export를 해줍니다.

const fn = {
    add: (num1, num2) => num1 + num2,
};

module.exports = fn;

test 명령 : npm test

npm test

npm test 명령어를 실행하면 프로젝트 내의 모든 test 파일들을 찾아서 테스트 합니다.

test.js로 끝나거나, __tests__ 폴더 아래에 있는 파일들은 자동으로 테스트 파일로 인식합니다.

테스트 파일 코드 작성 : fn.test.js

똑같은 이름의 fn.test.js 의 파일을 만듭니다.

만약 직접 선택한 파일만 테스트를 하고 싶으시면, npm test 뒤에 파일명이나 경로를 입력하시면 됩니다.

fn.test.js

const fn = require('./fn');

// expect 에 검증할 값을 넣어주고,
// toBe 에 기대하는 값을 넣어줍니다. 
test('1은 1이야.', () => {
    expect(1).toBe(1);
});

// 아까 만든 add함수도 이용해 보겠습니다.
test('2 더하기 3은 5야.' () => {
    expect(fn.add(2, 3)).toBe(5);
});

// 실패하는 케이스
test('2 더하기 3은 5야.' () => {
    expect(fn.add(3, 3)).toBe(5);
});

아래 명령을 실행하여 테스트를 해 봅니다.

npm test

// 어떤 테스트가 실패 했는지 뜨고,
v 1 1이야.
v 2 더하기 3 5.
x 2 더하기 3 5.

// 총 3개중에 두개는 패스 했고, 하나는 실패 했다고 뜹니다.
1 failed, 2passed, 3 total

일부러 틀리기 : not

이번에는 통과할수 있도록 코드를 수정해 보겠습니다.

결과를 6으로 변경하지 않고,

not을 이용해 보겠습니다.

// 실패하는 케이스를 not으로 변경
test('2 더하기 3은 5가 아니야.' () => {
    expect(fn.add(3, 3)).not.toBe(5);
});
npm test

v 1 1이야.
v 2 더하기 3 5.
v 2 더하기 3 5.

3passed, 3 total

모두 통과 되었습니다.

results matching ""

    No results matching ""

    99 other / uml

    04 react / JSX