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
모두 통과 되었습니다.