728x90
반응형
Jest는 최근 많이 사용하는 테스트 패키지 ( 혹은 프레임워크 ) 이다. mocha, chai 에 대해 포스팅을 하려고 하다가, 최근에 jest에 대해 알게되어 toy problem을 준비할 겸, 한 번 연습해보았다. 이전에 코드스테이츠 프리코스 마지막 Hiring assessment에서 티리온 라니스터에게 굴욕을 겪었던 걸 떠올리며, 안될 때 내가 원하는 테스트 케이스를 기준으로 돌려보기 위해 jest를 사용해봤다.
여담으로 HA를 패스 못해서 인풋을 달라고 요청하였더니 그럴 순 없다는 답변을 받았다. 아마 언젠가는 스스로 테스트 툴을 학습하고 내가 생각하는 테스트 케이스로 테스트를 해보길 원했기 때문은 아닐까. ( 그랬다면 성공했다. )
Jest
제스트를 사용하기에 앞서, 설치를 하고 몇 가지 설정을 해주어야 한다. 제스트를 사용하고자 하는 폴더에서, jest를 설치해주자.
나는 miniGames 라는 폴더를 만들고 진행하였다.
npm install --save-dev jest
테스트를 위해 getting-started 에 있는 것처럼 sum.js 파일을 만든다.
const sum = (a, b) => {
return a + b;
};
export default sum;
해당 코드를 테스트하기 위해, sum.test.js 파일을 만든다.
const sum = require('./sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
잘 동작하는 걸 볼 수 있다.
그럼 이제 toy problem을 풀어서 테스트를 해보자. 1번 문제는 딱 봐도 어려워보이니까 2번으로 테스트를 진행해보았다.
const firstNonRepeatedCharacter = require('../02_nonrepeatCharacter/gray');
const refFirstNonRepeatedCharacter = require('./reference');
describe('02_nonrepeatCharacter', () => {
let answer = firstNonRepeatedCharacter;
let reference = refFirstNonRepeatedCharacter;
it('is function?', () => {
expect(typeof answer).toBe('function');
});
it('nonrepeatedCharacter should return `null` for empty string', () => {
expect(answer('')).toBe(null || undefined);
});
});
아직 테스트케이스를 전부 입력하진 않았지만, 테스트가 잘 돌아가는 걸 볼 수 있다.
전부 다 넣은 테스트 결과
728x90
반응형
'TIPS' 카테고리의 다른 글
[TIPS] macOS git status 한글 깨짐 현상 해결하기 (0) | 2021.03.02 |
---|---|
[TIPS] GitHub 새로운 기능, gh CLI 사용하기 (0) | 2020.09.21 |
[TIPS] Bots를 이용한 슬랙봇 만들기 (0) | 2020.09.05 |
[TIPS] 코드 스테이츠를 선택해야하는 이유 - 내돈내산 중간 리뷰 (2) | 2020.09.04 |
[TIPS] 웹훅을 이용한 슬랙봇 만들기 (0) | 2020.08.28 |